Mailinglisten-Archive |
Hi, Ich muss/moechte in eine bestehende XML Strukur einen neuen Node einhaengen. An sich kein Problem, aber, ich moechte es an einer bestimmten Stelle tun und nicht einfach hinten anhaengen. Ich verwende dazu PHP5. Bsp: Ausgangspunkt ist folgende XML-Struktur ---------------------------------------------------------------------- <?xml version="1.0" encoding="ISO-8859-1"?> <root> <parent> <child/> <child/> </parent> </root> ---------------------------------------------------------------------- Jetzt kann ich mit dem folgenden Code einen neuen Node in <parent></parent> einfuegen. ---------------------------------------------------------------------- <?php $xml_src = 'test.xml'; $parent_path = "//parent"; // Create a new DOM document $dom = new DomDocument(); $dom->load($xml_src); // Find the parent node $xpath = new DomXPath($dom); $parent = $xpath->query($parent_path); // Create an element $element = $dom->createElement('neuernode'); // Append the element $parent->item(0)->appendChild($element); echo $dom->saveXML(); ?> ---------------------------------------------------------------------- ergibt: ---------------------------------------------------------------------- <?xml version="1.0" encoding="ISO-8859-1"?> <root> <parent> <child/> <child/> <neuernode/> </parent> </root> ---------------------------------------------------------------------- Haben will ich aber z.B.: ---------------------------------------------------------------------- <?xml version="1.0" encoding="ISO-8859-1"?> <root> <parent> <child/> <neuernode/> <child/> </parent> </root> ---------------------------------------------------------------------- Irgendwelche Ideen? Die Nachbarkinder anhand von Parametern und XPath kann ich problemlos finden, ich hab nur keinen Plan wie ich appendchild() das Ziel beibringen kann. (habe die Params hier im Bsp. der Einfachheit halber weggelassen). Hab auch schon gedacht zu versuchen die Nodeliste nach dem Append zu sortieren, aber vielleicht weiss ja irgendwer was Pfiffiges ;-) -- Gruss Jens
php::bar PHP Wiki - Listenarchive