具有特殊字符的TBXML分析器获得EXC_BAD_ACCESS

时间:2013-04-01 14:55:52

标签: iphone ios objective-c

我正在使用TBXML Parser ver。 1.4,当我通过TBXML解析器解析这种后续响应时,得到EXC_BAD_ACCESS ......

<trainingOrganization xsi:type="xsd:string">~!@#$%^&*()_+?> <,./;'{}|<":;'></trainingOrganization>

坚持这个问题。

正如我观察到的那样&lt;&gt; TBXML无法解析数据...

先谢谢。

2 个答案:

答案 0 :(得分:1)

使用CDATA的最佳方式之一,CDATA内部的任何内容都视为xml文档,因此如果您有特殊字符,例如';:,。''&lt;&gt;'然后解析器会忽略它。所以我总是喜欢使用CDATA并建议你使用它。

答案 1 :(得分:0)

我认为这不是TBXML解析器特有的。

<>\"'之类的字符必须被屏蔽(由\),所以它可能只是你的xml文件的编码或解析的设置。

否则解析器认为它是:

<trainingOrganization xsi:type="xsd:string">
~!@#$%^&*()_+?
> *<-- closing the previous element* 
<,./;'{}|
  <":;'>
</trainingOrganization>

如果您无法找到任何设置或编码以自动执行此操作,请在解析之前将字符替换为前面的\来尝试。

另一种可能性是正确使用xml并且不允许结构在元素之间设置<>,这是我认为最简单的方法。