如何使用XmlDocument在c#.net CF 3.5中添加属性到xml
发布时间:2020-12-15 07:49:09 所属栏目:百科 来源:网络整理
导读:我需要为元素“aaa”创建一个前缀“xx”的属性“abc”.以下代码添加前缀,但它还将namespaceUri添加到元素. 必需输出: mybodyaaa xx:abc="ddd"/mybody/ 我的代码: XmlNode node = doc.SelectSingleNode("//mybody"); XmlElement ele = doc.CreateElement("a
我需要为元素“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不是这个所需的格式,那么它不能再被处理了. 谁能帮忙? 谢谢, 解决方法
我相信这只是直接在根节点上设置相关属性的问题.这是一个示例程序:
using System; using System.Globalization; using System.Xml; class Test { static void Main() { XmlDocument doc = new XmlDocument(); XmlElement root = doc.CreateElement("root"); string ns = "http://sample/namespace"; XmlAttribute nsAttribute = doc.CreateAttribute("xmlns","xx","http://www.w3.org/2000/xmlns/"); nsAttribute.Value = ns; root.Attributes.Append(nsAttribute); doc.AppendChild(root); XmlElement child = doc.CreateElement("child"); root.AppendChild(child); XmlAttribute newAttribute = doc.CreateAttribute("xx",ns); newAttribute.Value = "ddd"; child.Attributes.Append(newAttribute); doc.Save(Console.Out); } } 输出: <?xml version="1.0" encoding="ibm850"?> <root xmlns:xx="http://sample/namespace"> <child xx:abc="ddd" /> </root> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |