Nasıl SimpleXML ile birden fazla metin blok almak için XML ayrıştırma yapabilir?

1 Cevap php

Şöyle bazı XML ayrıştırmak istediğiniz:

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

Nasıl Basit XML metin düğümü çocuklara erişim alabilirim?

Ben metin ve eleman çocuklarının doğru sırayla erişebilir miyim?

Bunun için başka bir paket gerekiyor?

1 Cevap

Ben kuvvetle SimpleXML üzerinde DOM functions geçiş tavsiye ederim. I which wasn't very popular Bir süre önce bu gibi bir cevap vardı, ama ben yine de onun tarafından ayakta. DOM işlevleri sadece çok güçlü: ekstra ayrinti buna değer.

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

foreach ($doc->documentElement->childNodes as $node) {
    if ($node->nodeType === XML_TEXT_NODE) {
        echo $node->nodeValue . "\n";
    }
}