Wie ändere ich XML-Tag-Namen mit PHP?

8

Ich habe eine XML-Datei, die ungefähr so ​​aussieht:

%Vor%

Gibt es eine einfache Möglichkeit, die Tag-Namen zu etwas anderem wie Modell, Preis zu ändern.

Im Wesentlichen habe ich eine Reihe von XML-Dateien, die ähnliche Daten enthalten, aber in unterschiedlichen Formaten. Daher suche ich nach einer einfachen Möglichkeit, die XML-Datei zu analysieren, bestimmte Tag-Namen zu ändern und eine neue XML-Datei mit den geänderten zu schreiben Tag-Namen.

    
Ryan McCullagh 17.11.2011, 07:04
quelle

3 Antworten

6

Die nächste Funktion wird den Trick machen:

%Vor%     
dfsq 17.11.2011, 08:24
quelle
8

Es gibt zwei Probleme mit Kris und dfsq code:

  • Nur der erste untergeordnete Knoten wird kopiert - gelöst mit einer temporären Kopie von $ childNodes)
  • Kinder erhalten das xmlns-Tag - gelöst, indem sie den Knoten am Anfang ersetzen - also ist er mit dem Dokument verbunden

Eine korrigierte Umbenennungsfunktion ist:

%Vor%     
Rafał Lindemann 14.12.2012 16:16
quelle
1

Es gibt einen Beispielcode, der in meiner Frage funktioniert hier , aber es gibt keine direkte Möglichkeit, einen Tag-Namen durch DOMDocument / DOMElement zu ändern, Sie können jedoch Elemente mit einem neuen Tag-Namen wie gezeigt kopieren.

im Grunde müssen Sie:

%Vor%     
Kris 17.11.2011 07:17
quelle

Tags und Links