2011-03-24 15 views
0

我使用的NSXMLParser解析XML數據,我現在注意到,這些元素可以包含所有字符,包括例如&解析非格式良好的XML。由於解析器在遇到此角色時發生錯誤,因此我替換了此角色的每個Occurence。 現在我要確保天天看這些字符可能導致錯誤的。 他們是什麼?你認爲我應該如何處理這些角色? 在此先感謝!嘗試使用的NSXMLParser

回答

2

要回答你一半的問題,XML有可能要逃跑5個特殊字符:

< - 與& LT取代;

> - 與& GT取代;

& - 與&功放代替;

' - 與&者取代;

「 - 與& QUOT取代;

現在,對於另一半 - 如何查找和替換這些還沒有更換所有的標籤,等等...不容易,但我在看向正則表達式和NSRegularExpression:http://developer.apple.com/library/ios/#documentation/Foundation/Reference/NSRegularExpression_Class/Reference/Reference.html

請記住,這取決於你的使用情況,以逃脫標籤參數的值,太; <標籤參數=「與& QUOT;報價& QUOT;」/>

+0

要添加到這一點,如果XML使用<?XML版本= 「1」 編碼= 「UTF-8」?「>在頂部需要更換NO任何其他字符。版權標誌等所有工作都很好。我過度地替換了東西,XML解析器開始隨地吐痰不理解實體,因爲它們只是HTML。 – Kalle 2012-08-24 14:21:09

0

例如&成爲&amp;或「變得&quot;

當經過解析器應該出來OK,你的其他選擇是使用像TBXML不同的XML解析器不應該這些字符進行編碼。做格式檢查