现在是这样:
一个别的方法返回一个序列化对象的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>
怎么处理好呢?谢谢!

解决方案 »

  1.   

    是你把返回的节点添加到temp,再把temp添加到xml里去了吧?
      

  2.   


     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");
      

  3.   


    //楼主参考下,看看是不是这个意思.
    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"));