Как объединить элементы из двух файлов XML? - PullRequest
0 голосов
/ 29 апреля 2010

Мне нужен код c # lang для объединения двух файлов 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 # для достижения вышеуказанного сценария?

Ответы [ 4 ]

0 голосов
/ 29 апреля 2010

Я бы создал класс (ы), которые представляют формат (ы) XML-файлов, которые имеют возможность сериализации и десериализации обоих объектов. Затем я использовал бы код для десериализации объектов и их слияния. (возможно, не самый эффективный способ, но пункт означает, что вы знаете, с чем имеете дело, и позволит вам быстрее выявлять / находить / решать проблемы)

0 голосов
/ 29 апреля 2010

Возможно, вы захотите изучить использование linq to xml. Это очень простой способ работы с данными XML. Здесь - это ссылка на сайт, на котором приведены некоторые примеры, но другие можно легко найти с помощью Google.

0 голосов
/ 29 апреля 2010

Это мой код. Я могу получить его для одного файла 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 голосов
/ 29 апреля 2010
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...