2011-09-01 71 views
-1

這是錯誤:的SimpleXMLElement錯誤,但XML是有效

[01九月2011 8點15分01秒] PHP警告:的SimpleXMLElement :: __構建體()[< REF啊='的SimpleXMLElement .--構造'> simplexmlelement .-- construct]:../domain/feed-yself-tips.php:1:解析器錯誤:預計開始標記,'<'未在/home/domain/public_html/mergedrss.php上找到135行我們可以通過下面的例子來說明如何使用SimpleXMLElement :: Simplexmlelement。 - construct:> simplexmlelement .-- construct]:1f45 in/home/135線上的域名/ public_html/mergedrss.php

[01-Sep-2011 08:15:01] PHP Warning:SimpleXMLElement :: __ construct()[< ah ref ='simplexmlelement .-- construct'> simplexmlelement .-- construct]:^ in/home/domain /public_html/mergedrss.php on line 135

[01-Sep-2011 08:15:01] PHP致命錯誤:在/ home/domain中帶有消息'String無法解析爲XML'的未捕獲異常'異常' /public_html/mergedrss.php:135

堆棧跟蹤: #0 /home/domain/public_html/mergedrss.php(135): SimpleXMLElement->__construct('.../domain...', 0, true) #1 /home/domain/public_html/mergedrss.php(57): MergedRSS->__fetch_rss_from_url('.../domain...') #2 /home/domain/public_html/feed.php(21): MergedRSS->export(false, true, 15) #3 {main} thrown in /home/domain/public_html/mergedrss.php on line 135

+0

沒有實際的文件就不可能分辨出來。 – VolkerK

+0

我使用類MergedRSS,這是錯誤行:\t私有函數__fetch_rss_from_url($網址){ \t \t //創建新的SimpleXMLElement實例 \t \t $ SXE =新的SimpleXMLElement($網址,空,真); \t \t return $ sxe; – user923076

回答

6

如果您確定xml格式正確,導致此錯誤的兩種最常見的情況如下所示。

A)您餵養simplexmlelement一個文件名而不是一個字符串。

// For files/urls use the following. 
// See: http://www.php.net/manual/en/function.simplexml-load-file.php 
$xml = simplexml_load_file('example.xml'); 

// For xml strings use the following. 
// See: http://www.php.net/manual/en/function.simplexml-load-file.php 
$xml = simplexml_load_string($exmpleString); 

B)的另一個常見問題是,您試圖訪問一個安全網站(https://開頭)和你的PHP不必須在php.ini中啓用了OpenSSL的擴展的副本。如果解決方案適用於您,請參閱google獲取幫助,因爲解決方案取決於您是在Linux或Windows服務器上。

如果沒有更多的信息來源,例如源代碼xml和代碼,您可以使用這些信息來了解我所能提供的所有幫助。

祝你好運:)

+0

啊哈。感謝這個我的問題解決了。沒有注意到我正在嘗試使用文件使用load_string。 – rccoros

相關問題