20.15.在XML中使用HTML和特殊字符
问题
我想在XML使用HTML或其他一些特殊字符.
解决办法
使用CDATA标签
讨论
在XML中包含的特殊字符需用特殊方式进行处理,例如<和>在XML中作为分隔符,如果你直接在XML文档中的文本内容中使用它们,则会导致语法分析错误,例如:
虽然a < b 是作为文本节点内容,但是<符号在XML文档中是有特殊意义的,因此这将会导致解析错误,另一个普遍问题就是在XML中使用HTML,例如:
这里的HTML是作为XML而不是字符串,上面的XML以<htmlExample>为根节点,<a>为子节点且其文本节点值为Darron。
在这些情况必须使用CDATA 标签,把括号中的数据只作为字符串显示。
CDATA标签以<![CDATA[ 开始,以]]> 结束.,上面的例子可改写成这样:
当XML 被解析时,CDATA 标签中的内容原封不动。
我想在XML使用HTML或其他一些特殊字符.
解决办法
使用CDATA标签
讨论
在XML中包含的特殊字符需用特殊方式进行处理,例如<和>在XML中作为分隔符,如果你直接在XML文档中的文本内容中使用它们,则会导致语法分析错误,例如:
+展开
-XML
<example>a < b
虽然a < b 是作为文本节点内容,但是<符号在XML文档中是有特殊意义的,因此这将会导致解析错误,另一个普遍问题就是在XML中使用HTML,例如:
+展开
-XML
<htmlExample><a href="http://www.darronschall.com">Darron</a></htmlExample>
这里的HTML是作为XML而不是字符串,上面的XML以<htmlExample>为根节点,<a>为子节点且其文本节点值为Darron。
在这些情况必须使用CDATA 标签,把括号中的数据只作为字符串显示。
CDATA标签以<![CDATA[ 开始,以]]> 结束.,上面的例子可改写成这样:
+展开
-ActionScript
<example><![CDATA[a < b]]></example>
<htmlExample><![CDATA[<a href="http://www.darronschall.com">Darron</a>]]></htmlExample>
<htmlExample><![CDATA[<a href="http://www.darronschall.com">Darron</a>]]></htmlExample>
当XML 被解析时,CDATA 标签中的内容原封不动。
加支付宝好友偷能量挖...