2014-12-30 101 views
0

我正在嘗試做我認爲應該很簡單的事情。我想從一個文本框中取出一個XML字符串,並將其轉換爲一個SimpleXML對象來解析,一旦我在SimpleXML對象中有數據,我將把它加載到一個數據庫中(這一部分我沒有問題)以備後用。SimpleXML PHP無法創建對象

的代碼似乎很簡單,我的XML似乎是確定的,但我不斷收到:

[30-Dec-2014 16:48:15 UTC] Error parsing XML file : Input is not proper UTF-8, indicate encoding ! Bytes: 0xE2 0x7A 0x7A 0x6F

upload.php的

<form action="parse.php" method="get"> 
<textarea name="XML" rows="20" cols="60">Delete this text and Paste XML string here... </textarea> 
<br></br> 
<input type="submit" value="Upload Data"> 
</form> 

Parse.php

<?php $myXMLData = $_GET["XML"]; 

$xml=simplexml_load_string($myXMLData) or die("Error: Cannot create object"); 
print_r($xml); 

?> 

XML文本 - 據我所知,使用W3Schools XML驗證的格式是確定的。

<ksk date="2014-12-29" time="14:46"> 
<classes> 
<c id="08" v="mage"/> 
<c id="09" v="warlock"/> 
<c id="00" v="unknown"/> 
<c id="10" v="monk"/> 
<c id="07" v="shaman"/> 
<c id="06" v="deathknight"/> 
<c id="05" v="priest"/> 
<c id="04" v="rogue"/> 
<c id="02" v="paladin"/> 
<c id="03" v="hunter"/> 
<c id="11" v="druid"/> 
<c id="01" v="warrior"/> 
</classes> 
<users> 
<u id="0011" n="Spâzzo-zul'jin" c="04"/> 
<u id="001a" n="Txxstorm-zul'jin" c="01"/> 
<u id="0007" n="Derider-zul'jin" c="09"/> 
<u id="0019" n="Pseven-zul'jin" c="07"/> 
<u id="0009" n="Papadruid-zul'jin" c="11"/> 
<u id="0014" n="Ellenplague-zul'jin" c="06"/> 
<u id="0017" n="Nito-zul'jin" c="06"/> 
<u id="0003" n="Valdarixie-zul'jin" c="10"/> 
<u id="0012" n="Tekvar-zul'jin" c="11"/> 
<u id="0015" n="Kangdandy-zul'jin" c="03"/> 
<u id="0013" n="Tissie-zul'jin" c="02"/> 
<u id="0016" n="Moonfrosty-zul'jin" c="08"/> 
<u id="0002" n="Staysha-zul'jin" c="11"/> 
<u id="000a" n="Pogozorro-zul'jin" c="10"/> 
<u id="0004" n="Shauleata-zul'jin" c="01"/> 
<u id="0001" n="Blackòut-zul'jin" c="02"/> 
</users> 
<lists> 
<list id="141215a9edbda8" n="MaS Priority"> 
<u id="0011"/> 
<u id="001a"/> 
<u id="0007"/> 
<u id="0019"/> 
<u id="0009"/> 
<u id="0014"/> 
<u id="0017"/> 
<u id="0003"/> 
<u id="0012"/> 
<u id="0015"/> 
<u id="0013"/> 
<u id="0016"/> 
<u id="0002"/> 
<u id="000a"/> 
<u id="0004"/> 
<u id="0001"/> 
</list> 
<list id="141215b1c46373" n="MaS Raid"> 
<u id="0013"/> 
<u id="0002"/> 
<u id="0016"/> 
<u id="0007"/> 
<u id="0015"/> 
<u id="0001"/> 
<u id="0003"/> 
<u id="0017"/> 
<u id="0014"/> 
<u id="0019"/> 
<u id="0012"/> 
<u id="001a"/> 
<u id="0011"/> 
<u id="000a"/> 
<u id="0004"/> 
<u id="0009"/> 
</list> 
</lists> 
</ksk> 

就如何更好地解析這個XML並獲得到數據庫

+0

您是否嘗試過實際檢查/輸出用'libxml_get_errors()',而不僅僅是你的'錯誤「錯誤:無法創建對象」'字符串文字?另外,我的猜測是你的問題是,你缺少的XML聲明:''你 –

+0

能提供'的var_dump($ myXMLData)'在你的問題的輸出?另外,爲什麼使用GET而不是POST? POST看起來更合適。 –

+0

後期編輯與信息形式錯誤日誌 – JamesW

回答

0

對不起,浪費大家的時間任何建議或指針,這個問題似乎是在幾個名稱的特殊字符。我對此很新,並不確定從哪裏開始挖掘。