如何确定DomeElement/DOMNode是否是PHP中DOMDocument的子节点?
我有一本书。我怎样才能知道它是一个网络的子节点 问题的背景: [A DomeElement对象]是只读的。它可以附加到文件中, 但是,在添加节点之前,不能将其他节点附加到此节点 与文档关联。(见 )如何确定DomeElement/DOMNode是否是PHP中DOMDocument的子节点?,php,dom,domdocument,appendchild,Php,Dom,Domdocument,Appendchild,我有一本书。我怎样才能知道它是一个网络的子节点 问题的背景: [A DomeElement对象]是只读的。它可以附加到文件中, 但是,在添加节点之前,不能将其他节点附加到此节点 与文档关联。(见 ) 编辑: 获取节点的XPath位置路径。根节点具有路径/。因此,如果节点的位置不等于/,则节点是子元素 但这只适用于子节点。如果是“独立”节点对象,则会发出警告: $test = new \DOMNode(); echo $test->getNodePath(); 警告:DOMNode::g
编辑: 获取节点的XPath位置路径。根节点具有路径
/
。因此,如果节点的位置不等于/
,则节点是子元素
但这只适用于子节点。如果是“独立”节点对象,则会发出警告:
$test = new \DOMNode();
echo $test->getNodePath();
警告:DOMNode::getNodePath():无法在第16行的/path/too/foo.php中获取DOMNode
检查所属类别的类型:
if($dom instanceof \DOMDocument) { ... }
检查所属类别的类型:
if($dom instanceof \DOMDocument) { ... }
您应该检查
所有者文档
属性:
if ($node->ownerDocument === $document) {
// $node is part of $document
} else {
$importedNode = $document->importNode($node, true);
// now you can append the node wherever you choose in the document
}
您应该检查
所有者文档
属性:
if ($node->ownerDocument === $document) {
// $node is part of $document
} else {
$importedNode = $document->importNode($node, true);
// now you can append the node wherever you choose in the document
}