2010-10-06 29 views
0

有誰知道如何解析在PHP中使用SimpleXMLElement的xml字符串時,密鑰中有一個空格嗎?解析XML與他們的名字中有空格的鍵

例如,

$xmlString = "<test><this is>a</this is></test>"; 
$xml = new SimpleXMLElement($xmlString); 
print_r($xml); 
在上面的例子

「這是」使解析器去香蕉。我猜測它是因爲它認爲它的財產就像期待的那樣?

的獎賞PT, (也如果密鑰是一個數字..像「1」,同樣的事情發生)..

+0

實際上,解析器認爲「is」是一個屬性,如解析器錯誤消息「Entity:line 1:parser error:attribute specification value for attribute is'所示。 – Gordon 2010-10-06 18:45:48

回答

3

這是因爲有數字爲元素和元素與空間不是一部分有效的XML。您最好在XML字符串上運行替換函數,將<(\d+)>轉換爲<el_$1>,並用下劃線替換節點中的空格。