Без дополнительных разъяснений, кажется, у вас возникли проблемы с получением строкового значения отдельных <content>
узлов?Если это так, рассмотрите следующее:
$str = '
<xml>
<content>content1</content>
<somethingElse>DOH!</somethingElse>
<content>content2</content>
<content>content3</content>
</xml>
';
$doc = new SimpleXMLElement($str);
$vals = array();
foreach ($doc->content as $content) {
$vals[] = (string) $content;
}
print_r($vals);
Это выдаст:
Array
(
[0] => content1
[1] => content2
[2] => content3
)
ОБНОВЛЕНИЕ
Согласно вашему комментарию, вы можете использоватьта же самая тактика выше с дополнительным вызовом implode
, например, так:
$vals = implode('', $vals);
echo $vals; // outputs: content1content2content3
Или измените исходный цикл так:
$vals = '';
foreach ($doc->content as $content) {
$vals .= (string) $content;
}
echo $vals; // outputs: content1content2content3