1

次のような XML を解析したいと考えています。

<node>
  This is
  <child>
    blah
  </child>
  some
  <child>
    foo
  </child>
  text
</node>

シンプル XML でテキスト ノードの子にアクセスするにはどうすればよいですか?

テキストと要素の子の正しい順序でそれらにアクセスできますか?

これには他のパッケージが必要ですか?

4

2 に答える 2

5

SimpleXML よりもDOM 関数に切り替えることを強くお勧めします。少し前にこのような回答がありましたが、あまり人気がありませんでしたが、今でも支持しています。DOM 関数は非常に強力です。追加の冗長性はそれだけの価値があります。

$doc = new DOMDocument();
$doc->loadXML($xmlString);

foreach ($doc->documentElement->childNodes as $node) {
    if ($node->nodeType === XML_TEXT_NODE) {
        echo $node->nodeValue . "\n";
    }
}
于 2009-03-19T23:34:12.893 に答える
0
foreach($this->xml->xpath('/node/child') as $child){
   ...
}
于 2009-03-19T21:56:22.880 に答える