对于我的应用程序,我必须保存一个XML文档,其中包含一些带有HTML-text的元素。结果应该是:
<gpx>
<wpt>
<elementInHTML>
<p>Sample text.</p>
</elementInHTML>
etc...但是,当我将这个html元素添加到我的NSXMLDocument中时,'<‘(到<)将自动转义,但是’>不会(到>)转义。
代码:
NSXMLElement *newWPT = [NSXMLElement elementWithName:@"wpt"];
NSXMLElement *htmlElement = [NSXMLElement elementWithName:@"elementInHTML"];
htmlElement.stringValue = @"<Sample text>";
[newWPT addChild:htmlElement];但是这会产生这样的XML文档:
<gpx>
<wpt>
<elementInHTML>
<p>Sample text.</p>
</elementInHTML>
etc...此结果对于必须处理此xml文件的设备无效。
有人知道如何将正确转义的html-字符串封装到NSXMLDocument中吗?
发布于 2014-06-03 13:40:06
&字符串被正确地作为XML的替罪羊,大于它所在的有效字符:http://www.w3.org/TR/REC-xml/#syntax。
这似乎是一个设备实现的特定问题。
您的简单选择是将html标记包含在CDATA中。...and希望设备客户端XML解析器的实现能够正确理解它。
(如果html标记还包括CDATA部分,则必须找到/替换">",如前面的链接所述。)
P.D.:任何搜索引擎中的NSXMLNode CDATA都会让你找到更接近“复制粘贴”的东西。
编辑:
现在,更多地了解原始问题中字符串的内容(参见问题注释),并根据字符串的性质,回答另一个问题可能也有帮助:Objective-C and Swift URL encoding
https://stackoverflow.com/questions/17456642
复制相似问题