2012-01-30 40 views
0

我是PHP 5.2.6中使用Codeigniter的SimpleXML的新手,並且已收到以下錯誤消息。無論我嘗試了什麼,我都無法從解析器獲得任何輸出。SimpleXML使用有效的XML字符串生成錯誤

我檢查過XML是否有效。我已經確認該字符串是用XML填充的,並且已經替換了其他有效的XML字符串來確認。

我在這一特定領域相當新的所以任何幫助將是美好的。

錯誤消息:

消息:的SimpleXMLElement :: __構建體()[的SimpleXMLElement .--構造]:實體:線12:分析器錯誤:開始標記預期, '<' 未找到

代碼示例:

$xmlClean = simplexml_load_string($xml); 
$xmlData = new SimpleXMLElement($xmlClean); 
echo $xmlData->person[0]->id; 
+0

你能告訴我們的XML? – 2012-01-30 12:30:22

+0

就我個人而言,我使用DOMDocument。它的作用類似於Javascript。 – Rahly 2012-01-30 19:37:29

回答

0

我能解決我的問題有以下幾點:

$string = <<<XML 
$xml 
XML; 

只是包裝這樣的$ XML然後讓這個工作:

$xmlData = simplexml_load_string($string); 
var_dump($xmlData); 

希望有人認爲這很有幫助。

0

我有一些麻煩的SimpleXML對象自己...我意識到是,XML元素的值不是字符串,買了SimpleXML對象本身...

步行解決這個問題,當我想要使用SimpleXML對象的字符串,通過get_object_vars將對象轉換爲關聯數組。

$data = get_object_vars($xml); 

echo $data['element1']; //Outputs the value of the element1 element