Как я могу разобрать XML для получения нескольких текстовых блоков с помощью SimpleXML?

Я хочу проанализировать XML-код, который выглядит так:

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

Как получить доступ к дочерним узлам текстового узла в Simple XML?

Могу ли я получить к ним доступ в правильном порядке текстовых и дочерних элементов?

Нужен ли мне какой-то другой пакет?

Solutions Collecting From Web of "Как я могу разобрать XML для получения нескольких текстовых блоков с помощью SimpleXML?"

Я настоятельно рекомендую переключиться на функции DOM через SimpleXML. У меня был такой ответ, который был не очень популярен , но я все еще поддерживаю его. Функции DOM просто так сильны: дополнительная многословие стоит того.

 $doc = new DOMDocument(); $doc->loadXML($xmlString); foreach ($doc->documentElement->childNodes as $node) { if ($node->nodeType === XML_TEXT_NODE) { echo $node->nodeValue . "\n"; } } 
 foreach($this->xml->xpath('/node/child') as $child){ ... }