Uncaught exception 'DOMException' with message 'Hierarchy Request Error"
Ich bin immer Fehler beim ersetzen oder hinzufügen ein Kind in einem Knoten.
Erforderlich ist :
Möchte ich dies ändern..
<?xml version="1.0"?>
<contacts>
<person>Adam</person>
<person>Eva</person>
<person>John</person>
<person>Thomas</person>
</contacts>
wie diese
<?xml version="1.0"?>
<contacts>
<person>Adam</person>
<p>
<person>Eva</person>
</p>
<person>John</person>
<person>Thomas</person>
</contacts>
Fehler ist
Fatal error: Uncaught exception 'DOMException' with message 'Hierarchy Request Error'
mein code ist
function changeTagName($changeble) {
for ($index = 0; $index < count($changeble); $index++) {
$new = $xmlDoc->createElement("p");
$new ->setAttribute("channel", "wp.com");
$new ->appendChild($changeble[$index]);
$old = $changeble[$index];
$result = $old->parentNode->replaceChild($new , $old);
}
}
- Sie können sehen, xml-Anforderung in Frage details...
- wenn ich versuche zu verwenden replaceChild seine immer Fehler sagen "Hierarchy Request Error" ich bin nicht immer Ahnung, was ich mache Fehler
- Ich will einfach nur ein Knoten benötigt, um zu sein eingeschlossen in p-tag, das Wars.
- ja sicher, das nächste mal.. vielen Dank für die Anregung..
- lassen Sie uns weiter, diese Diskussion im chat
- Ich restaurierte die original-XML-Beispiele so ist es, besser zu verstehen und gefüttert-up mit der Antwort. Ich hoffe, Sie nicht mind.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Fehler Hierarchie Anfrage Fehler mit DOMDocument in PHP bedeutet, dass Sie versuchen, verschieben Sie einen Knoten in sich selbst. Vergleichen Sie dies mit der Schlange in der folgenden Abbildung:
Ähnlich ist das mit den Knoten. Verschieben Sie den Knoten in sich selbst. Das bedeutet, dass der moment, den Sie ersetzen möchten, und die person, die mit dem Absatz, die person, die bereits Kinder des Absatzes.
Den appendChild() Methode effektiv schon bewegt sich die person aus dem DOM-Baum, es ist kein Teil mehr:
Eva ist schon Weg. Seine parentNode ist der Absatz schon.
So, Anstatt Sie zuerst zu ersetzen und dann fügen Sie das Kind:
Nun alles in Ordnung ist.