1
我有一個解析XML文本的PHP頁面。該文本來自HTML文本字段中的用戶輸入。PHP DomDocument XML解析器
只要節點之間存在任何空白,Domdocument xml解析器就無法正確解析文檔。本質上它會識別第一個節點,但它不能找到任何嵌套節點。
刪除空格,它沒有問題。
$xmldoc = new DOMDocument();
$xmldoc->loadXML($rawxml);
$top = $xmldoc->documentElement;
if(!$top) {echo "error: xml config is empty"; exit(-1);}
if($top->nodeName != "config") die("error: expect config tag as first element");
$nameNode = $top->childNodes->item(0);
//Fails here
if($nameNode->nodeName != "name") die("error: expect name tag following config tag");
作品
<config><name>sdf2</name></config>
不工作
<config> <name>sdf2</name></config>
我dumb..coulda使用正則表達式..... $ rawxml = preg_replace函數( 「/> \ S +", "><」, $ rawxml); – user623879
@ user623879這是錯誤的方法。閱讀http://stackoverflow.com/questions/3577641/best-methods-to-parse-html-with-php –