首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为某些NSXMLDocument保存NSXMLElements转义HTML

为某些NSXMLDocument保存NSXMLElements转义HTML
EN

Stack Overflow用户
提问于 2013-07-03 19:33:40
回答 1查看 505关注 0票数 3

对于我的应用程序,我必须保存一个XML文档,其中包含一些带有HTML-text的元素。结果应该是:

代码语言:javascript
复制
<gpx>
  <wpt>
  <elementInHTML>
    &lt;p&gt;Sample text.&lt;/p&gt;
  </elementInHTML>
etc...

但是,当我将这个html元素添加到我的NSXMLDocument中时,'<‘(到&lt;)将自动转义,但是’>不会(到&gt;)转义。

代码:

代码语言:javascript
复制
NSXMLElement *newWPT = [NSXMLElement elementWithName:@"wpt"];
NSXMLElement *htmlElement = [NSXMLElement elementWithName:@"elementInHTML"];
htmlElement.stringValue = @"<Sample text>";
[newWPT addChild:htmlElement];

但是这会产生这样的XML文档:

代码语言:javascript
复制
<gpx>
  <wpt>
    <elementInHTML>
      &lt;p>Sample text.&lt;/p>
    </elementInHTML>
etc...

此结果对于必须处理此xml文件的设备无效。

有人知道如何将正确转义的html-字符串封装到NSXMLDocument中吗?

EN

回答 1

Stack Overflow用户

发布于 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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17456642

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档