2013-03-07 63 views
2

我试图添加一个冒号的属性到一个新的元素,但它保存到文件时被剥离?我正在尝试将它写入一些遗留应用程序来解释,因此我无法控制XML的格式。那么如何添加一个冒号的属性呢?属性中的冒号被XmlDocument截断?

var element = doc.CreateElement("item"); 
element.SetAttribute("name", "Something"); 
element.SetAttribute("type:this", "MyClass.Somewhere"); 

目前,上述最终成为<item name="Something" this="MyClass.Somewhere" name="Something" />,但我想它导致的<item name="Something" type:this="MyClass.Somewhere" />。任何想法如何实现这一目标?

+0

在属性名称中不能有冒号。你想达到什么目的?你想使用XML命名空间吗? – 2013-03-07 02:37:16

+0

不,我正在尝试修改传统CMS系统中的XML文件。我无法控制XML的格式。我只是想克隆一个节点并修改它。 – TruMan1 2013-03-07 02:39:15

+0

某处是否存在文件中“类型”前缀的定义?也许像'xmlns:type =“someUri”'? – 2013-03-07 02:46:36

回答

0

hakre的评论:

namespace添加attribute。它应该可以工作(即使前缀不同),只需指定namespace urn:jugnut:configuration:type