我有一個用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