如果您在PHP中有DOMNode,那么如何获得外部xml(即此元素中的所有XML以及元素本身)?
例如,假设这是结构
<car>
<tire>Michelin</tire>
<seats>Leather</seats>
<type>
<color>red</color>
<make>Audi</make>
</type>
</car>
我有一个指向&lt; type&gt;的指针节点...我想回来
<type>
<color>red</color>
<make>Audi</make>
</type>
如果我只是要求提供文字,我会找回“redAudi”。
答案 0 :(得分:18)
您需要一个DOMDocument:
// If you don't have a document already:
$doc = new DOMDocument('1.0', 'UTF-8');
echo $doc->saveXML($node); // where $node is your DOMNode
检查文档中的DOMDocument :: saveXML以获取更多信息。
当您将DOMNode传递给saveXML()时,您只返回该节点的内容而不是整个文档。
答案 1 :(得分:0)
您可以尝试以下方式:
function getInnerXml(DomNode $node){
$xml = '';
foreach($node->childNodes as $childNode){
$xml .= $node->ownerDocument->saveXml($childNode);
}
return $xml;
}