比较特殊的添加xml节点怎么处理呢?
现在是这样:
一个别的方法返回一个序列化对象的XML string,类似
<employeeclass>
<firstname>tom</firstname>
<lastname>wang</lastname>
</employeeclass>
我要把它添加到现有的xml文件中去。
现有的文件就是这样
<employees>
<employeeclass>。。。</employeeclass>
<employeeclass>。。。</employeeclass>
<employeeclass>。。。</employeeclass>
</employees>
我该怎么添加呢?因为我用XmlElement xmlElement = XmlDocument.CreateElement("temp");
的时候总会添加一个多于的节点把人家的xmlstring 包住。成了
<temp>
<employeeclass>
<firstname>tom</firstname>
<lastname>wang</lastname>
</employeeclass>
</temp>
怎么处理好呢?谢谢!
[解决办法]
- C# code
XmlDocument doc = new XmlDocument(); doc.LoadXml("<employeeclass><firstname> tom </firstname><lastname> wang </lastname></employeeclass>"); XmlNode node = doc.FirstChild; XmlDocument doc2 = new XmlDocument(); doc2.Load("c:\\a.xml"); XmlNode root = doc2.SelectSingleNode("employees"); XmlNode newNode = doc2.ImportNode(node, true); root.AppendChild(newNode); doc2.Save("c:\\a.xml");
[解决办法]
//楼主参考下,看看是不是这个意思.
- C# code
XmlDocument doc = new XmlDocument(); doc.Load(Server.MapPath("Employee.xml")); XmlNode objectNode = doc.SelectSingleNode("employees"); XmlDocumentFragment docFrag = doc.CreateDocumentFragment(); docFrag.InnerXml = "<employeeclass><firstname>tom</firstname><lastname> wang </lastname></employeeclass>"; objectNode.InsertAfter(docFrag, objectNode.LastChild); doc.Save(Server.MapPath("Employee.xml"));