2017-08-29 1 views
0

So zu platzieren habe ich diese xml:XML - Wie untergeordneten Knoten in der Mitte des Elternknotens

<al> 
A 

    <extref>EXTREF1</extref> 
B 

    <extref>EXTREF2</extref> 
C 

</al> 

Wenn ich tun:

echo $xml->al; 

das Ergebnis:

A B C 

anstelle von

A EXTREF1 B EXTREF2 C 

Wie kann ich die Links an der richtigen Position anzeigen lassen? Ich weiß, Sie können die ‚extref‘ erhalten mit einer foreach mit:

$xml->al->extref 

Aber wie kann ich sie in die richtige Position bringen? Ich verwende SimpleXML

+1

was meinst du mit der "richtigen Position", genau? Position in Bezug auf was? Fragen Sie, wie man das XML schön druckt? Oder wie die Elemente in einer bestimmten Reihenfolge ausgegeben werden? – ADyson

+0

Das XML wurde etwas klarer, aber es hat immer noch das gleiche Ziel. –

+0

Die ['SimpleXMLElement'] (http://php.net/manual/en/class.simplexmlelement.php) zurückgegeben von [' simplexml_load_string() '] (http://php.net/manual/en/function. simplexml-load-string.php) enthält alle Elemente an ihren korrekten Positionen. Sie können 'print_r ($ xml)' verwenden, um zu überprüfen. 'echo()' ist nicht das Werkzeug um ein 'SimpleXMLElement' Objekt zu drucken. Sie müssen durch es gehen und entscheiden, was gedruckt wird und was nicht. – axiac

Antwort

0

Die SimpleXMLElement zurückgegeben von simplexml_load_string() enthält alle Elemente auf ihre richtigen Positionen. Sie können print_r($xml) verwenden, um zu überprüfen. echo() ist nicht das Werkzeug zum Drucken eines SimpleXMLElement Objekts. Sie müssen durch es gehen und entscheiden, was gedruckt wird und was nicht. Wenn Sie jedoch alle XML-Textknoten in der Reihenfolge drucken möchten, in der sie in der XML-Struktur angezeigt werden, können Sie strip_tags() verwenden, um alles zu entfernen, was wie ein XML-Tag aussieht, und zu drucken, was zurückgegeben wird.

Es ist jedoch nicht die empfohlene Methode, um eine XML-Datei zu verarbeiten.

Verwandte Themen