XSLT ist ideal für die automatische Umwandlung von XML, sofern Sie eine deklarative Programmiersprache erlernen möchten.
Wenn die neue XML 80% ähnlich dem bestehenden XML ist, beginnen Sie mit der Identitätstransformation,
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
die identisch über XML kopiert.
Fügen Sie dann Vorlagen hinzu, um abzudecken, wie sich das neue XML von dem alten unterscheiden sollte. Zum Beispiel das Hinzufügen dieser Vorlage auf die Identitätstransformation,
<xsl:template match="not-needed"/>
not-needed
Elemente werden umgewandelt in das neue XML zu verhindern.
Und diese Vorlage,
<xsl:template match="old-element">
<new-element/>
</xsl:template>
wird old-element
(und alles darunter) ersetzen mit new-element
.
Oder diese Vorlage,
<xsl:template match="old-element">
<new-element>
<xsl:apply-templates select="@*|node()"/>
</new-element>
</xsl:template>
ersetzt old-element
(aber nicht alles darunter) mit new-element
.
Es ist üblich, auf diese Weise in nur wenigen Minuten identitätsbasierte Transformationen zu erstellen. Glücklicherweise erstreckt sich diese Art von Macht auch auf kompliziertere Transformationen mit einem ähnlich hohen Ergebnis-zu-Aufwand-Verhältnis.
Siehe auch: How to get started with XSLT?