我发现由于被禁止的字符,NSXMLParser (XCode/iOS) 没有解析以下 XML 字符串。如果需要转义,应如何在发送到 XML 解析器之前对 XML 字符串进行转义。
@"<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<Elem xmlns=\"Sample\"><Text Text=\"some text <name@somcompany.com> \"></Text></Elem>";
@"<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<Elem xmlns=\"Sample\"><Text Text=\"some text \"quoted text\" \"></Text></Elem>";
两者都产生以下错误:
Error Domain=NSXMLParserErrorDomain Code=38 "The operation couldn’t be completed.
(NSXMLParserErrorDomain error 38.)
这可以正常工作:
@"<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<Elem xmlns=\"Sample\"><Text Text=\"some text \'quoted text\' \"></Text></Elem>";
谢谢。