Ich habe zwei komplexe XML-Dateien und ich möchte die Unterschiede zwischen ihnen finden.So finden Sie die Unterschiede zwischen XML-Dateien in R
Was ich brauche, ist zu finden:
- Tags die
- Werte in nur einer der beiden XML vorhanden sind, die von einer verschieden sind andere
ich aus der versucht haben compareXMLDocs
XML
Paket, aber es ist nicht sehr zufriedenstellend.
Beispiel
XML1
<root>
<first>name1</first>
<second>id1</second>
<third>
<third.1>something</third.1>
<third.2>something else</third.2>
</third>
<fifth>no differences</fifth>
</root>
XML2
<root>
<second>id2</second>
<third>
<third.1>something2</third.1>
<third.2>something else2</third.2>
</third>
<fourth>blahblah</fourth>
<fifth>no differences</fifth>
</root>
Also, wenn ich mit compareXMLDocs
vergleichen, ich habe:
> compareXMLDocs(a, b)
$inA
first
1
$inB
fourth
1
$countDiffs
named integer(0)
Ich weiß, dass der first
Tag nur in XML1 verwendet wird und dass der fourth
Tag nur in XML2 verwendet wird . Aber ich weiß nicht, dass die Werte in Terz.1 und Terz.2 unterschiedlich sind. Nach was ich suche. Ich verstehe nicht, was countDiffs
tut. Scheint hier nicht sehr nützlich.
Ich habe auch versucht, die XML in Datenrahmen zu konvertieren, aber das Ausgabeformat ist nicht sehr hilfreich. Am schlimmsten wird es bei großen XML-Dateien, bei denen der Baum tief ist.
Das Ergebnis, das ich für dieses Beispiel erwarten würde ein Datenrahmen so aussehen:
Path A B
/root/first name1 NA
/root/second id1 id2
/root/third/third.1 something something2
/root/third/third.2 something else something else2
/fourth NA blahblah
_ "Tags, die nur in einer der beiden XML vorhanden sind" _ ... nach Knotenposition im Baum? Im Algemeinen? _ "Werte, die sich voneinander unterscheiden" _ ... auf derselben Schlüsselbaumknotenebene in denselben Knoten? – hrbrmstr