我需要的输出是
<ns1:collection>
<ns1:child1>value1</ns1:child3>
<ns1:child2>value2</ns1:child3>
<ns1:child3>value3</ns1:child3>
</ns1:collection>
我尝试通过下面的代码来做 - 但我得到一个例外-...
如何在这个上添加命名空间?
XDocument xDoc = new XDocument( new XElement( "collection",
new XElement( "ns1:child1", value1 ),
new XElement( "ns1:child2", value2 ),
new XElement( "ns1:child3", value3 ) ) );
我也尝试使用
XNamespace ns1 = "http://url/for/ns1";";
并且要做
( ns1 + "child1", value1 )
仍然没有
答案 0 :(得分:1)
将名称空间声明移动到虚构的父元素:
XDocument xDoc = new XDocument(new XElement("root",
new XAttribute(XNamespace.Xmlns + "ns1", ns1),
new XElement(ns1 + "collection",
new XElement(ns1 + "child1", value1),
new XElement(ns1 + "child2", value2),
new XElement(ns1 + "child3", value3))));
答案 1 :(得分:0)
XDocument xDoc = new XDocument(new XElement(ns1+"collection",
new XAttribute(XNamespace.Xmlns+"ns1",ns1),
new XElement(ns1+ "child1", value1),
new XElement(ns1+"child2", value2),
new XElement(ns1+"child3", value3)));