2010-12-03 55 views
-1

如何使用XML字符串來查找其某些元素值? 我用這個代碼:如何使用XML字符串在PHP中查找某些元素值?

 
    10: $php_var = json_decode($json, 1); 
    11 $serializer=new XML_Serializer(); 
    12: if($serializer->serialize($php_var)) 
    13: xml_string=htmlspecialchars($serializer->getSerializedData()); 
    14: echo $xml_string; 
    15: $xml_obj = new DOMDocument(); 
    16: $xml_obj->loadXML($xml_string); 
    17: $urls=$xml_obj->getElementsByTagName('url'); 

但它不工作,我得到了一個警告:DOMDocument::loadXML() [domdocument.loadxml]: Start tag expected, '<' not found in Entity, line: 1 in /var/www/seo-tool/get_details.php on line 15

+1

聞起來像無效的XML給我。提供您的`$ xml_string`請 – Gordon 2010-12-03 16:36:55

+0

其非常大的一個 – 2010-12-03 16:52:36

回答

0

那是什麼htmlspecialchars()?該函數的所有的<>轉換爲&lt;&gt;和XML不再是XML。

刪除通話。如果要回顯XML,請執行echo htmlspecialchars($xml_string),但不要將其存儲在變量中。


舊是:
您發佈的XML似乎是有效的。

但你缺少XML聲明,在字符串的開頭:

<?xml version="1.0" encoding="UTF-8" ?> 
相關問題