Какой самый быстрый способ объединить два XML-файла в один - PullRequest
25 голосов
/ 11 июня 2009

Если у меня есть две строки xml1 и xml2, которые представляют xml в одном и том же формате. Какой самый быстрый способ объединить их вместе? Формат не важен, но я просто хочу знать, как я могу избавиться или?

xml1:

<?xml version="1.0" encoding="utf-8"?>
<AllNodes>
   <NodeA>
      <NodeB>test1</NodeB>
      <NodeB>test2</NodeB>
   </NodeA>
</AllNodes>

xm2:

<?xml version="1.0" encoding="utf-8"?>
<AllNodes>
   <NodeA>
      <NodeB>test6</NodeB>
      <NodeB>test7</NodeB>
   </NodeA>
   <NodeA>
      <NodeB>test99</NodeB>
      <NodeB>test23</NodeB>
   </NodeA>
</AllNodes>

и есть что-то вроде этого:

<?xml version="1.0" encoding="utf-8"?>
    <AllNodes>
          <NodeA>
              <NodeB>test1</NodeB>
              <NodeB>test2</NodeB>
          </NodeA>
         <NodeA>
              <NodeB>test6</NodeB>
              <NodeB>test7</NodeB>
           </NodeA>
           <NodeA>
              <NodeB>test99</NodeB>
              <NodeB>test23</NodeB>
           </NodeA>
    </AllNodes>

Ответы [ 11 ]

0 голосов
/ 11 июня 2009

Если бы я делал это (используя C #), я бы создал класс, к которому я мог бы десериализовать этот XML (вы можете использовать xsd.exe, чтобы сделать это), а затем перебрал бы все узлы в объекте, представляющем первый кусок XML и «Добавить» их в свойство AllNodes объекта, представляющего второй XML.

Затем сериализуйте второй класс обратно в XML, и он должен выглядеть как ваш третий пример.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...