【发布时间】:2011-03-25 05:35:56
【问题描述】:
我需要为元素“aaa”创建一个带有前缀“xx”的属性“abc”。以下代码添加了前缀,但它也将 namespaceUri 添加到元素。
所需输出:
<mybody>
<aaa xx:abc="ddd"/>
<mybody/>
我的代码:
XmlNode node = doc.SelectSingleNode("//mybody");
XmlElement ele = doc.CreateElement("aaa");
XmlAttribute newAttribute = doc.CreateAttribute("xx","abc",namespace);
newAttribute.Value = "ddd";
ele.Attributes.Append(newAttribute);
node.InsertBefore(ele, node.LastChild);
以上代码生成:
<mybody>
<aaa xx:abc="ddd" xmlns:xx="http://www.w3.org/1999/XSL/Transform"/>
<mybody/>
想要的输出是
<mybody>
<aaa xx:abc="ddd"/>
<mybody/>
并且“xx”属性的声明应该在根节点中完成,如:
<ns:somexml xx:xsi="http://www.w3.org/1999/XSL/Transform" xmlns:ns="http://x.y.z.com/Protocol/v1.0">
如果以 deisred 格式获得输出,如何获得?如果 xml 不是这种所需的格式,则无法再对其进行处理..
谁能帮忙?
谢谢, 维姬
【问题讨论】:
标签: c# .net xml windows-mobile xsd