<foo>
a
<bar> b </bar>
</foo>
两个$foo->textContent
和$foo->nodeValue
回报a b
。获取节点的文本内容,而忽略子节点
我怎样才能得到公正a
(在从节点的子节点的文字,没有文字)
<foo>
a
<bar> b </bar>
</foo>
两个$foo->textContent
和$foo->nodeValue
回报a b
。获取节点的文本内容,而忽略子节点
我怎样才能得到公正a
(在从节点的子节点的文字,没有文字)
使用firstChild
:
$foo->firstChild->textContent;
试试这个代码
$doc = new DOMDocument();
$doc->loadXML('<root><foo>a<bar>b</bar></foo><foo>bar</foo></root>');
$foos = $doc->getElementsByTagName('foo');
foreach($foos as $v){
echo $v->firstChild->wholeText.'<br />';
}
,因为在第一<foo>
一个“文本节点”'之后有文字?这也会得到那些文字吗? –
jonhopkins
<bar>
之前的DOMNode
的firstChild
属性返回DOMText
对象怎么办如果在'不,但您可以使用'lastChild'来代替。更好的方法是将文本包装到一个元素中。 – zessx