Как сравнить элементы в двух больших XML-файлах и выбрать более новое значение

Каков наилучший способ сравнить элементы двух больших файлов XML с продуктами?

Например: если один файл XML содержит product с тем же id как и во втором XML-файле, я хотел бы выбрать продукт, который имеет более новые date_added и сохранить его в новый файл.

Пример моего кода XML:

<products>
<product id="1" date_added="2016-05-05">
<category><![CDATA[Category1]]></category>
<name><![CDATA[Product name]]></name>
<description><![CDATA[Description...]]></description>
<attributes>
<a name="Producent"><![CDATA[Producent]]></a>
<a name="PN"><![CDATA[12345]]></a>
</attributes>
</product>
</products>

0

Решение

Для больших файлов XML я бы сказал, что лучше всего использовать SAX XML Parser.

Управлять им немного сложнее, если сравнить его с SimpleXML, DOM-парсером или XMLReader, но с точки зрения управления памятью я бы сказал, что вы ищете.

Затем, для ваших запросов я бы пошел на XPath, и вы можете найти хорошие подсказки здесь: Есть ли процессор XPath для модели SAX?

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]