2016-06-15 16 views
0

Was ist der beste Weg, um Elemente aus zwei großen XML-Dateien mit Produkten zu vergleichen?Vergleichen von Elementen in zwei großen XML-Dateien und Auswahl, wo der Wert neuer ist

Zum Beispiel: Wenn eine XML-Datei ein product mit den gleichen id wie in einer zweiten XML-Datei enthält, ich mag das Produkt auszuwählen, die neueren date_added hat und es auf neue Datei zu speichern.

Probe meines XML-Code:

<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> 

Antwort

0

Für große XML-Dateien würde ich sagen, dass Ihr bester Schuss die SAX XML Parser zu verwenden ist.

Es ist ein wenig kompliziert zu verwalten, wenn Sie es mit SimpleXML, DOM-Parser oder XMLReader vergleichen, aber in Bezug auf die Speicherverwaltung würde ich sagen, was Sie suchen.

Dann würde ich für Ihre Fragen XPath gehen und Sie können hier schöne Hinweise finden: Is there any XPath processor for SAX model?