这几天在跟一个公司合作的项目中,对方提供了RSS接口,通过这个接口,在我们网站展现出来,但是对方RSS中出现了一些麻烦的字符,比如 &,®,™ 等。这些字符放到XML中,如果不做特殊处理,就会有错误产生。比如下面的XML:
<item>&</item>
在IE 浏览器,以及一些解析用的DOM中解析这个片段,就会产生错误。
在W3C的技术规范中,也可以看到这样的字符不允许出现:
http://www.w3.org/TR/2001/REC-xml-c14n-20010315
比如:对 Text Nodes 允许的字符有如下要求: the string value, except all ampersands are replaced by &, all open angle brackets (< ) are replaced by <, all closing angle brackets (> ) are replaced by >, and all #xD characters are replaced by .
由于这些特殊字符比较多,我们在XML中替换的工作量比较大,我们可以在DTD文件中作些定义:
比如DTD文件中增加以下部分:
<!-- PERCENT SIGN -->
<!ENTITY amp "&">
<!-- COPYRIGHT SIGN -->
<!ENTITY reg "®">
<!-- REG TRADE MARK SIGN -->
<!ENTITY trade "™">
并在XML中定义这个XML文件需要这个DTD支持:
<!DOCTYPE HeadCount SYSTEM "eula.dtd">
这样在XML文件中出现 & ® ™ 这类特殊字符就不会再报错了。
分享到:
相关推荐
脚本可以批量去除XML文件中的<?xml version=“1.0“ encoding=“utf-8“?>
TIA博途V17中DB块如何导出成源文件或XML文件或EXCEL中? 博途中导出DB块的3种方法介绍。
js 操作xml 文件 读取xml文件 js 操作xml 文件 读取xml文件
idea中pom.xml文件
Qt读写Xml文件,QTreeWidget显示Xml和导出Xml文件
通过代码创建一个现在不存在,自己想要存放信息的文件夹和创建xml文件,并向xml中写入信息。
回答csdn论坛【java实现】java中怎么实现如下功能... 的Demo
Workvisual倍福XML文件
XML 文件读取及管理工具 VC++源代码 显示XML文件结构,剖析XML文件,管理XML文件变得方便
完整的XML文件,
压缩包中有一个项目(项目中包含操作xml文件的类和对应的xml文件)、一个用于操作xml文件的jar包,用于操作xml文件,并且获得list集合。
动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件...
C++实现对xml文件的解析,C++实现对xml文件的解析,C++实现对xml文件的解析。
C# WinForm 读写XML文件 C# WinForm 读写XML文件
matlab读取复杂xml文件实例,来源于具体的项目开发
这是一个java对xml操作的两个类,xml文件的节点都是已知的,都需要提前指定.
js读取xml文件并获取文件内容
xml文件实例xml文件实例xml文件实例xml文件实例xml文件实例xml文件实例xml文件实例xml文件实例 poi-2.5.1-final-20040804.jar poi-contrib-2.5.1-final-20040804.jar poi-scratchpad-2.5.1-final-20040804.jar ...
java解析XML文件java解析XML文件java解析XML文件java解析XML文件java解析XML文件java解析XML文件
配置文件,XML文件读写.rar XML的简单易于在多数应用程序中读/写数据,XML是数据交换的公共语言,很多不同的应用软件都支持XML文件。 配置文件,是一种计算机文件,可以对程序配置初始参数;设置程序初始数据。