为什么nodename打印“root”,但nodeValue返回子节点中的多个值和所有值。
运行此代码,echo将返回
“父节点的名称为root,其值为Text值11111 空文本值2222空格文本值3333“
第二个回声将返回此
“子节点是spaceIts值是空格文本值3333”
<?php
$xmldoc=
'<?xml version="1.0" ?><root>
<text>Text value 11111</text>
<none/>
<empty>Empty text value 2222</empty>
<space>space text value 3333 </space>
</root>';
$domdoc = new DoMDocument();
$domdoc->loadXML($xmldoc);
$xpath = new DOMXPath($domdoc);
$rootNodeListParent = $xpath->query("//root");
$rootNodeParent = $rootNodeListParent[0];
echo "The Name of the parent node is " . $rootNodeParent->nodeName. " Its value is " . $rootNodeParent->nodeValue . "<br>";
$queryNodeList = $xpath->query("//space");
$nodeSpace = $queryNodeList[0];
echo "The child node is " . $nodeSpace->nodeName. "Its value is " . $nodeSpace->nodeValue; //spacevalue ssddd
}
答案 0 :(得分:0)
&#34; nodeValue返回子节点中的多个和所有值&#34;
因为那是你在. $rootNodeParent->nodeValue .
那里要求的。
根节点的字符串值是该节点的串联 string节点中所有文本节点后代的字符串值 文件订单。
&#34;对于每种类型的节点,都有一种确定字符串值的方法 对于该类型的节点。对于某些类型的节点,字符串值为 节点的一部分;对于其他类型的节点,字符串值为 根据后代节点的字符串值计算。&#34;