обновить значение узла двух похожих типов файлов XML в C # - PullRequest
0 голосов
/ 24 апреля 2018

Я получаю два XML-файла неизвестного формата из внешнего источника в моем приложении. Обычно оба XML-файла имеют одинаковую структуру, но иногда некоторые узлы различаются. Я должен прочитать один узел XML-файла по узлу и обновить значение в другом XML-файле в аналогичной позиции. Здесь я хочу обновить значение файла 2 в файле 1, а также найти какой-либо дополнительный узел в файле 2. Как этого добиться?

Файл 1:

<s11:Envelope xmlns:s11='http://schemas.xmlsoap.org/soap/envelope/'>
  <s11:Body>
    <ns1:Add xmlns:ns1='http://tempuri.org/'>
      <ns1:intA>?999?</ns1:intA>
      <ns1:intB>?999?</ns1:intB>
    </ns1:Add>
  </s11:Body>
</s11:Envelope>

Файл 2:

<s11:Envelope xmlns:s11='http://schemas.xmlsoap.org/soap/envelope/'>
  <s11:Body>
    <ns1:Add xmlns:ns1='http://tempuri.org/'>
      <ns1:intA>10</ns1:intA>
      <ns1:intB>20</ns1:intB>
      <ns1:intC>30</ns1:intC>
    </ns1:Add>
  </s11:Body>

Выход:

<s11:Envelope xmlns:s11='http://schemas.xmlsoap.org/soap/envelope/'>
      <s11:Body>
        <ns1:Add xmlns:ns1='http://tempuri.org/'>
          <ns1:intA>10</ns1:intA>
          <ns1:intB>20</ns1:intB>
        </ns1:Add>
      </s11:Body>
    </s11:Envelope>
...