次のXML文字列は、禁止されている文字が原因でNSXMLParser(XCode / iOS)によって解析されないことがわかりました。エスケープが必要な場合、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>";
ありがとう。