【发布时间】:2013-07-12 09:38:04
【问题描述】:
我需要生成一个如下所示的 xml 文件:
<?xml version="1.0" encoding="utf-8"?>
<ns:Root xmlns:ns0="http://namespace">
<Node1>
<A>ValueA</A>
<B>ValueB</B>
</Node1>
</Root>
这是我的代码:
const string ns = "http://namespace";
var xDocument = new XDocument(
new XElement("Root",
new XAttribute(XNamespace.Xmlns + "ns0", ns),
new XElement("Node1",
new XElement("A", "ValueA"),
new XElement("B", "ValueB")
)
)
);
但这会产生:
<?xml version="1.0" encoding="utf-8"?>
<Root xmlns:ns0="http://namespace">
<Node1>
<A>ValueA</A>
<B>ValueB</B>
</Node1>
</Root>
注意根节点前缺少的“ns0:”。我怎样才能添加它?其他一切都应该完全相同。
【问题讨论】:
-
您是否尝试将
"ns:Root"改为"Root"作为第一个XElement构造函数的参数? -
@HuorSwords:不起作用,我得到“':'字符,十六进制值 0x3A,不能包含在名称中”异常。
-
请检查此answer 是否有类似(甚至不相等)的问题。
标签: c# xml .net-4.0 xelement xnamespace