Hallo,
ich bin neu hier und hoffe das mit jemand helfen kann.
ich habe eine xml Datei welche folgendermaßen aufgebaut ist
Ich möchte nun bei allen Elementen, die einen typ haben, die Kinder löschen.
habe mir dazu Folgendes überlegt:
Tja das Ergebnis ist leider nicht genau das was ich haben möchte
Wieso hat "element3" nachher noch Kinder? Müssten die nicht auch weg sein?
Ich benutze PHP5 so kann ich in der foreach-Schleife die Referenzen verwenden.
Danke im Voraus für eure Hilfe
ich bin neu hier und hoffe das mit jemand helfen kann.
ich habe eine xml Datei welche folgendermaßen aufgebaut ist
Code:
<element1 typ="eins">Text</element1> <element2 typ="zwei">Zahl</element2> <element3 typ="drei"> text <nummer>1</nummer> text <nummer>2</nummer> text <nummer>3</nummer> text </element3>
habe mir dazu Folgendes überlegt:
Code:
$DOM->Load("quelle.xml");
$XPATH = new DOMXPath($DOM);
// sollte alle Elemente mit einem typ-Attribut loeschen
$Elements = $XPATH->query("//[@typ]");
// alle gefundenen Elemente durchlaufen
foreach ($Elements as &$Element)
{
// wenn es Kinder gibt -> löschen
foreach ($Element->childNodes as &$Child)
{
$Element->removeChild($Child);
};
};
$DOM->save("ergebnis.xml");
Tja das Ergebnis ist leider nicht genau das was ich haben möchte
Code:
<element1 typ="eins"/> <element2 typ="zwei"/> <element3 typ="drei"> text <nummer>1</nummer> text <nummer>2</nummer> text <nummer>3</nummer> text </element3>
Ich benutze PHP5 so kann ich in der foreach-Schleife die Referenzen verwenden.
Danke im Voraus für eure Hilfe

Kommentar