Thema: Delphi XML Dateien vergleichen

Einzelnen Beitrag anzeigen

sBorchert

Registriert seit: 8. Feb 2005
Ort: Kusey
7 Beiträge
 
#1

XML Dateien vergleichen

  Alt 10. Feb 2005, 15:00
Moin!
Ich bin gerade dabei, ein Programm zu schreiben, welches die Unterschiede zwischen zwei XML-Dateien ausgibt. Allerdings soll das ziemlich spezielle Kriterien erfüllen:
[file1.xml]
XML-Code:
<model>
 <constants>
  <constant name="const_01" value="1" />
  <constant name="const_02" value="1" />
 </constants>
 <classes>
  <class name="cl_01">
   <attributes>
    <attribute name="attr_01" value="1" />
    <attribute name="attr_02" value="1" />
   </attributes>
  </class>
 </classes>
</model>
[file2.xml]
XML-Code:
<model>
 <constants>
  <constant name="const_01" value="2" />
  <constant name="const_03" value="1" />
 </constants>
 <classes>
  <class name="cl_01">
   <attributes>
    <attribute name="attr_01" value="2" />
   </attributes>
  </class>
  <class name="cl_02" />
 </classes>
</model>
[result.xml]
XML-Code:
<model>
 <constants>
  <added>
   <constant name="const_03" value="2" />
  </added>
  <modified>
   <constant name="const_01" oldvalue="1" newvalue="2" />
  </modified>
  <removed>
   <constant name="const_02" value="1" />
  </removed>
 </constants>
 <classes>...</classes>
</model>
Habt ihr irgendwelche Anregungen, wie ich das am Besten lösen könnte?
Ich verwende Delphi7 und MSXML4. Bisher habe ich folgendes versucht:
- alle Elemente von file2 durchgehen
- Element in file1 vorhanden
- ja: alle Attribute überprüfen
- Attributwert geändert
- Element in Node "modified" einhängen
...

Da bin ich allerdings kläglich gescheitert. Ist wohl nicht mein Tag heute.
Ich würde mich über Anregungen eurerseits freuen.

Schöne Grüsse,

Stefan
  Mit Zitat antworten Zitat