У меня есть дерево xml:
<root>
<a>This is a</a>
<b>
<b-1>Im a child of b-1</b-1>
<b-1>Im a child of b-1</b-1>
</b>
</root>
Я устал
$str = $dom->getElementsByTagName("b")->item(1);
$str->nodeValue;
Это выводит значение nodevalue как целую строку, как я могу получить значение nodevalue отдельно?
Вы должны пройти каждый <b>
и их дочерние узлы следующим образом:
foreach ($dom->getElementsByTagName("b") as $b) { // 1
foreach ($b->childNodes as $node) { // 2
if ($node->nodeType === XML_ELEMENT_NODE) { // 3
echo $node->nodeValue, PHP_EOL; // 4
}
}
}
<b>
<b>
element
DOM, а не text
узломВЫВОД:
Im a child of b-1
Im a child of b-1
<b>
, вы можете сделать это в одном цикле, например: foreach ($dom->getElementsByTagName("b")[0]->childNodes as $node) {