2010-04-29 79 views
0

我需要一个c#lang代码将两个xml文件合并为一个指定的内容。如何合并来自两个XML文件的元素?

XML文件1:

<exchange-documents> 
    <documentlegal> 
     <bibliographic-data>   
      <applicants> 
       <applicant-name> 
       <name>CENTURY PRODUCTS CO [US]</name> 
       </applicant-name>       
      </applicants>  
     </bibliographic-data> 
    </documentlegal> 
    </exchange-documents> 

XML文件2:

<exchange-documents> 
    <documentpatent> 
     <bibliographic-data>   
      <applicants> 
       <applicant-name> 
       <name>CENTURY PRODUCTS CO [US]</name> 
       </applicant-name>       
      </applicants>  
     </bibliographic-data> 
    </documentpatent> 
    </exchange-documents> 

我需要阅读上述两个XML文件,并写入与所选元素的新XML文件?

输出XML:

<documentlegal> 
      <bibliographic-data>   
       <applicants> 
        <applicant-name> 
        <name>CENTURY PRODUCTS CO [US]</name> 
        </applicant-name>       
       </applicants>  
      </bibliographic-data> 
     </documentlegal> 
    <documentpatent> 
      <bibliographic-data>   
       <applicants> 
        <applicant-name> 
        <name>CENTURY PRODUCTS CO [US]</name> 
        </applicant-name>       
       </applicants>  
      </bibliographic-data> 
     </documentpatent> 

我不需要的exchnage文档元素。 任何人都可以提供一个C#代码来实现上述场景吗?

+1

请发布你迄今为止写的代码。人们通常不喜欢只为你写代码。 – 2010-04-29 12:57:09

回答

0

你可能想看看使用LINQ到XML。这是处理XML数据的一种非常简单的方法。 Here是一个链接到一个网站,做了一些例子,但其他人可以很容易地通过谷歌的方式找到。

0

这是我的代码。我能够得到它的一个XML文件。如何合并他人。

XmlDocument doc = new XmlDocument(); 
doc.Load(@"e://file_2.xml");     
XmlNodeList xlist = doc.GetElementsByTagName("documentlegal"); 
int j=xlist.Count; 
for (int i = 0; i <= j; i++) 
{ 
     Console.WriteLine(xlist.Item(i).InnerXml);     
} 
Console.ReadLine(); 
} 
0

我会创建类来表示能够序列化和反序列化这两个对象的XML文件格式。然后,我会使用代码反序列化对象并合并它们。 (也许不是最有效的方式,但项目意味着你知道你在处理什么,并且可以使你更快地隔离/查找/解决问题)

+0

...抱歉意识到你想要代码,你需要自己调查一下实际工作情况...... – 2010-04-29 13:34:20