2017-08-29 25 views
0

の中央に子ノードを配置するには:結果はXML - どのように私はこのXMLを持つ親ノード

echo $xml->al; 

<al> 
A 

    <extref>EXTREF1</extref> 
B 

    <extref>EXTREF2</extref> 
C 

</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

によって返されたSimpleXMLElementは、正しい位置にすべての要素を含んでいます。あなたはprint_r($xml)を使って確認することができます。 echo()SimpleXMLElementオブジェクトを印刷するツールではありません。あなたはそれを歩き、何を印刷するのか、何を印刷しないのかを決める必要があります。

しかし、すべてのXMLテキストノードをXML構造体に表示された順序で印刷する場合は、strip_tags()を使用して、XMLタグのように見えるものをすべて強制的に削除し、返すものを印刷します。

しかし、XMLファイルを処理する方法としてはあまりお勧めできません。

関連する問題