2017-08-29 91 views
0

所以我有這樣的XML:XML - 如何放置子節點的父節點的中心

<al> 
A 

    <extref>EXTREF1</extref> 
B 

    <extref>EXTREF2</extref> 
C 

</al> 

如果我做的:

echo $xml->al; 

結果是:

A B C 

代替

A EXTREF1 B EXTREF2 C 

如何獲取顯示在正確位置的鏈接? 我知道你可以使用foreach與得到「EXTREF」:

$xml->al->extref 

但我怎麼可以將它們放置在正確的位置? 我正在使用SimpleXML

+1

你的意思是「正確的位置」,究竟是什麼意思?關於什麼的立場?你在問如何漂亮地打印XML?或者如何以特定順序輸出元素? – ADyson

+0

將XML更改爲更清晰的內容,但仍具有相同的目標。 –

+0

['simplexml_load_string()'](http://php.net/manual/en/function)返回的['SimpleXMLElement'](http://php.net/manual/en/class.simplexmlelement.php) simplexml-load-string.php)包含正確位置上的所有元素。你可以使用'print_r($ xml)'來檢查。 'echo()'不是打印SimpleXMLElement對象的工具。你必須通過它來決定打印什麼和不打印什麼。 – axiac

回答

0

simplexml_load_string()返回的SimpleXMLElement包含其正確位置上的所有元素。您可以使用print_r($xml)進行檢查。 echo()不是打印SimpleXMLElement對象的工具。你必須通過它來決定打印什麼和不打印什麼。

但是,如果你想打印所有的XML文本節點,在它們出現在XML結構的順序,您可以使用strip_tags()窮舉刪除一切看起來像一個XML標籤和打印它返回什麼。

雖然這不是推薦的處理XML文件的方法。