我正在使用NSXMLParser解析XML数据,现在我注意到,Elements可以包含所有字符,包括例如&
。由于解析器在遇到此角色时发出错误,因此我替换了此角色的每个Occurence。
现在我想确保处理可能导致错误的每个字符。
它们是什么?您认为我应该如何处理这些角色?
提前谢谢!
答案 0 :(得分:2)
要回答一半问题,XML有5个特殊字符,您可能想要转义:
< - 替换为& lt;
> - 替换为& gt;
&安培; - 替换为& amp;
' - 替换为&的
和
“ - 替换为& quot;
现在,对于另一半 - 如何在不替换所有标签等的情况下找到并替换它们......不容易,但我会查看正则表达式和NSRegularExpression:http://developer.apple.com/library/ios/#documentation/Foundation/Reference/NSRegularExpression_Class/Reference/Reference.html
请记住,根据您的使用情况,也可以转义标签上参数的值; < tag parameter =“with& quot; quotes& quot;” />
答案 1 :(得分:0)
您应该对这些字符进行编码,例如&变为&
或“变为"
当它通过解析器时它应该出来了。您的另一个选择是使用不同的XML解析器,如TBXML,它不进行格式检查。