我有一个用XSD文件定义好的XML文档。 XML文档包含类似以下内容:PHP XML DOM解析混合内容
<foo>
<bar>text <element a="1" b="2" c="3" /> and some more text</bar>
<bar>Just text</bar>
</foo>
我想用PHP解析它只是带回一个属性值(将其他地方的代码来决定)内嵌的休息文中,这个例子我想“B”,输出应该是:
"text 2 and some more text"
"Just text"
我有得到输出这种格式的问题,我不能找到一种方法,无论是拆分节点文本,以便我可以插入属性值或输出节点的纯xml。
我的首选是使用PHP的DOMDocument方法来做到这一点。虽然我还没有学习XPath,但我会愿意学习它,如果它能使这个任务成为可能的话。我也会考虑改变嵌套节点的格式,尽管这是最后的手段。
我使用的DOMDocument找到节点:
$xml= new DOMDocument();
$xml->load(XMLPATH);
$node = $xml->getElementsByTagName("element")->item(0);
则以下所有的的忽略嵌套元素:
$node->nodeValue;
$node->C14N();
我也遵循这个指南无济于事: How to get innerHTML of DOMNode?
感谢您的帮助。
到目前为止你做了什么?向我们展示代码! –
我正在使用DOMdocument来查找节点: $ xml = new DOMDocument(); $ xml-> load(* XMLPATH *); $ node = $ xml-> getElementsByTagName(“element”) - > item(0) 然后以下所有内容都会忽略嵌套元素: $ node-> nodeValue $ node-> C14N(); 我也遵循这个指南无济于事: http://stackoverflow.com/questions/2087103/how-to-get-innerhtml-of-domnode – user2502611
@FelippeDuarte根据要求更新 – user2502611