我有2个xml文件:
档案1
<xml version.....>
<System>
<General>
<Instrument>
<Specific>
<Name>...</Name>
</Specific>
<Instrument>
</General>
<System>
文件2
<System>
<Specific>
<Name>...</Name>
<age>...</age>
....
</Specific>
<System>
文件1在元素下只有一个条目特定,文件2在特定元素下有多个条目。我需要将文件1中的Specific下的所有条目替换为文件2中的Specific下的条目。
如何使用System.Xml.Linq或System.Xml在c#中完成?
答案 0 :(得分:0)
美好的一天。
你可以使用LinqToXml迭代地将节点从一个元素添加到另一个元素。
Device#status
结果是file3.xml:
using System.Xml.Linq;
namespace XmlReplacer
{
class Program
{
static void Main(string[] args)
{
var doc1 = XDocument.Load(@"d:\temp\file1.xml");
var doc2 = XDocument.Load(@"d:\temp\file2.xml");
var specElement1 = doc1.Root.Element("General").Element("Instrument").Element("Specific");
var specElement2 = doc2.Root.Element("Specific");
specElement1.RemoveAll();
foreach (var xElement in specElement2.Elements())
{
specElement1.Add(xElement);
}
doc1.Save(@"d:\temp\file3.xml");
}
}
}