C# 将带有冒号的命名空间添加到xml文件
我需要生成一个如下所示的xml文件:C# 将带有冒号的命名空间添加到xml文件,c#,xml,.net-4.0,xelement,xnamespace,C#,Xml,.net 4.0,Xelement,Xnamespace,我需要生成一个如下所示的xml文件: <?xml version="1.0" encoding="utf-8"?> <ns:Root xmlns:ns0="http://namespace"> <Node1> <A>ValueA</A> <B>ValueB</B> </Node1> </Root> 但这会产生: <?xml version="1.0" enc
<?xml version="1.0" encoding="utf-8"?>
<ns:Root xmlns:ns0="http://namespace">
<Node1>
<A>ValueA</A>
<B>ValueB</B>
</Node1>
</Root>
但这会产生:
<?xml version="1.0" encoding="utf-8"?>
<Root xmlns:ns0="http://namespace">
<Node1>
<A>ValueA</A>
<B>ValueB</B>
</Node1>
</Root>
瓦卢亚
瓦卢布
请注意根节点之前缺少的“ns0:”。我如何添加它?其他一切都应该完全相同。试试这个
XNamespace ns = XNamespace.Get("http://namespace");
var xDocument = new XDocument(
new XElement(ns + "Root",
new XAttribute(XNamespace.Xmlns + "ns0", ns),
new XElement("Node1",
new XElement("A", "ValueA"),
new XElement("B", "ValueB")
)));
试试这个
XNamespace ns = XNamespace.Get("http://namespace");
var xDocument = new XDocument(
new XElement(ns + "Root",
new XAttribute(XNamespace.Xmlns + "ns0", ns),
new XElement("Node1",
new XElement("A", "ValueA"),
new XElement("B", "ValueB")
)));
您是否尝试将
“ns:Root”
改为“Root”
作为第一个XElement
构造函数的参数?@HuorSwords:不起作用,我得到了“名称”异常中不能包含的“:”字符,十六进制值0x3A。请检查此问题是否存在类似(甚至不相等)的问题。您是否尝试将“ns:Root”放入
而不是“Root”
作为第一个XElement
构造函数的参数?@HuorSwords:不起作用,我得到了“':'字符,十六进制值0x3A,不能包含在名称中”异常。请检查此问题,以了解类似(甚至不相等)的问题。