Ich habe etwas Kummer mit einem XML-Feed, den ich gesendet habe. Ich weiß, dass es ungültig ist, aber der Entwicklungszyklus des sendenden Programms ist so, dass es sich nicht lohnt, darauf zu warten, dass sie den Fehler korrigieren können. Also suche ich nach einer Arbeit dafür, eine Möglichkeit, PHP dazu zu bringen, dass ich das XML lesen und die ungültigen Attributeinträge zusammenführen/löschen kann, während ich alle anderen beibehalten kann.PHP zur Bestätigung von XML-Fehlern veranlassen
Der Fehler besteht darin, dass ich doppelte Attribute auf einem XML-Knoten habe. Ich habe SimpleXML verwendet, um die Dateien zu lesen und sie zu nützlichen Werten zu verarbeiten, aber diese Zeile unterbricht das System einfach. Der fehlbare XML sieht wie folgt aus
<dCategory dec="1102" dup="45" dup="4576" loc="274" mov="31493" prf="23469" unq="240031" xxx="7861" />
Was würde ich wirklich die PHP-Äquivalent von C# 's .MoveToNextAttribute gefällt, ist() auf dem XML-Reader. Ich kann nichts finden, was nicht explodiert, wenn man das Duplikat-Attribut erhält.
Wer hilft dabei?
Die Antworten, die mit Adressfehlern in Zeichen im XML selbst verknüpft sind. z.B. & erscheint nicht als &. Das Problem hierbei ist, dass die Struktur des XML-Codes nicht den Inhalt, sondern den Inhalt enthält. Die Antwort in diesem Thread gibt
parser error : Attribute attr1 redefined
wenn es mit dem XML präsentiert
<open-1 attr1="atr1" attr1="atr1">Text</open-1>
das ist, was ich zu analysieren versuchen.
Haben Sie [ 'XMLReader'] (http://php.net/manual/en /class.xmlreader.php) installiert? – summea
Ja, habe ich, obwohl es sicher auch gültiges XML benötigen wird? – Khainestar
Mögliches Duplikat von [PHP - Ungültige XML verarbeiten] (http://stackoverflow.com/questions/2890120/php-processing-invalid-xml) – fruggiero