【发布时间】:2013-03-07 02:28:14
【问题描述】:
我正在尝试将带有冒号的属性添加到新元素,但在保存到文件时它会被剥离?我正在尝试为一些遗留应用程序编写它来解释,所以我无法控制 XML 的格式。那么如何添加带有冒号的属性呢?
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" />。关于如何实现这一点的任何想法?
【问题讨论】:
-
属性名称中不能有冒号。你想达到什么目的?您是否尝试使用 XML 命名空间?
-
不,我正在尝试从旧版 CMS 系统修改 XML 文件。我无法控制 XML 的格式。我只是想克隆一个节点并修改它。
-
文件中是否有“类型”前缀的定义?也许像
xmlns:type="someUri"这样的东西? -
是的,有!
-
@TruMan1:使用该命名空间添加属性。它应该可以工作(即使前缀会不同),只需指定命名空间
urn:jugnut:configuration:type。
标签: c# .net xml xml-serialization