如何向一个xml文档中插入另一个xml文档?
注意:两个文档没有相似性。就是为了方便,纯粹把一个文档的一部分,插入到目标文档的指定位置。用importnode不行。也不是合并文档。比如,我已经产生了一个xmldocument a,
现在我正在编写xmldocument b,中间一部分是a,怎么插入? xmlDocument a,如下:
<person>
<name> name-1 </name>
</person> xmlDocument b,如下:
<company>
<site> site-1 </site>
<employees>
<person>
<name> name-1 </name>
</person>
</employees> 怎么直接插入xmlDocument a?
注意:两个文档没有相似性。就是为了方便,纯粹把一个文档的一部分,插入到目标文档的指定位置。用importnode不行。也不是合并文档。比如,我已经产生了一个xmldocument a,
现在我正在编写xmldocument b,中间一部分是a,怎么插入? xmlDocument a,如下:
<person>
<name> name-1 </name>
</person> xmlDocument b,如下:
<company>
<site> site-1 </site>
<employees>
<person>
<name> name-1 </name>
</person>
</employees> 怎么直接插入xmlDocument a?
XmlNode company = b.SelectSingleNode("company");
XmlNode person = a.SelectSingleNode("person");
company.AppendChild(person);
...
XMLNODE.INNERXML = "<asd>hahah</asd>";
...
XMLDOCUMENT.UPDATE();
出错信息,两个节点是不同的上下文。to lixiaoxiao521 :
xmldocument没有update方法。
using System.Collections.Generic;
using System.Text;
using System.Xml;namespace XmlTest
{
class Program
{
static void Main(string[] args)
{
XmlDocument a = new XmlDocument();
XmlDocument b = new XmlDocument();
a.Load("A.xml");
b.Load("B.xml");
XmlNode company = b.SelectSingleNode("company");
XmlNode person = a.SelectSingleNode("person");
XmlElement addXmlElement = b.CreateElement(person.Name);
XmlElement xesub1 = b.CreateElement(person.ChildNodes[0].Name);
xesub1.InnerText = person.ChildNodes[0].InnerText;
addXmlElement.AppendChild(xesub1);
company.AppendChild(addXmlElement);
b.Save("B.xml");
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<person>
<name> name-1 </name>
</person>
B.xml为:
<?xml version="1.0" encoding="utf-8" ?>
<company>
<site>site-1</site>
<employees>
<person>
<name>name-1</name>
</person>
</employees>
</company>
执行后:
<?xml version="1.0" encoding="utf-8" ?>
<company>
<site>site-1</site>
<employees>
<person>
<name>name-1</name>
</person>
</employees>
<person>
<name>name-1</name>
</person>
</company>