我在flex 3
,在用戶輸入一些文字將被存儲在一個數據庫mysql
,後來顯示在項目的工作。我正在使用XML
從flex到php的數據傳輸,反之亦然。 SimpleXMLElement
在php
正被用於創建XML
。問題是特殊字符上的XML
中斷。在PHP中創建XML使用SimpleXML有特殊字符
下面是示例代碼:
FLEX:
var someXML:XML = <root><data>somedata</data><data>...</data> ... </root>
var data:Object = {};
data.xmlData = someXML;
saveDataService.send(data);
這裏somedata
是由用戶輸入的數據。在php
,我使用SimpleXMLElement
提取someXML
並將其存儲到mysql
。這裏沒有問題。即使somedata
有特殊字符,它的工作正常並且數據被正確存儲。
現在,在其他情況下,從數據庫中獲取數據,並在柔性顯示,從PHP斷響應一個錯誤:
SimpleXMLElement::addChild() [simplexmlelement.addchild]: unterminated entity reference
我試着彎曲使用PHP urlencode
和decodeURI
功能,但解碼後的字符串不一樣,解碼後仍然有少數特殊字符%xy
。
我該如何解決這個問題?
通過做一些跟蹤和錯誤,我發現當有'&'字符時,XML會中斷。 – Anji