`
cnetwei
  • 浏览: 177094 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

dom4j解析xml文档时的字符引用(数字实体)问题及初步分析。

阅读更多

xml中的字符引用 也叫作字符 实体编号实体 ,例如我们可以

 
  1. & //显示一个and符号——&   

也可以 

  1. &# 38 //也是显示一个and符号——&   

第二种方式就叫做编号实体 ,在xml规范中定义了5个实体: 

  1. <!ENTITY quot "&#34;" >   
  2. <!ENTITY amp  "&#38;" >   
  3. <!ENTITY apos "&#39;" >   
  4. <!ENTITY lt   "&#38;#60;" >   
  5. <!ENTITY gt   "&#62;" >   

我们可以通过名称quot、amp……来引用,也可以通过数字34、38……来引用。平时常用的(定义在HTML中的)实体还有: 

  1. <!ENTITY nbsp "&#160;" >    <!-- 不折行空格 -->   
  2. <!ENTITY copy "&#169;" >   <!-- 版权符号 -->   

我的问题是,在dom4j 使用SAXReader解析xml文档时,其中的字符实体&#160、&#169都会变成问号——?,理论上来说 这里的数字(160、169)是字符在编码表中的(十进制)编码值,我给SAXReader设置的encoding是utf-8,难道unicode中没有160、169这两个值?

不知道大家是否有遇到这样的问题,有没有什么解决方法或思路?

分享到:
评论

相关推荐

    dom4j解析xml详解

    ### DOM4J解析XML详解 #### 一、DOM4J简介与特性 DOM4J是一个由dom4j.org开发的开源XML解析包,专为Java平台设计,它不仅支持DOM、SAX和JAXP标准,还巧妙地融入了Java集合框架,使其成为Java开发者在处理XML数据时...

    dtd定义xml dom4j解析xml小类

    DTD 定义 XML DOM4J 解析 XML 小类 XML 文档类型定义(DTD)是用来定义一段合法的 XML 文档块的。它用来验证你的 XML 文档是以一系列合法的元素构成的。DTD 可以在 XML 文档内部定义,也可以通过外部文件的方式引入...

    dom4j文档.xml

    此外,DOM4J还支持事件驱动的SAX解析,用于处理大型XML文档时可以显著提高性能,避免一次性加载整个文档到内存中。 总而言之,DOM4J是Java开发者处理XML文档的得力工具,其丰富的接口和灵活的功能使得XML操作变得...

    java_Dom4j解析XML详解.doc

    ### DOM4J解析XML详解 #### 一、DOM4J简介 DOM4J是一个由dom4j.org组织提供的开源XML解析工具包,专为Java平台设计。它支持DOM(Document Object Model)、SAX(Simple API for XML)以及JAXP(Java API for XML ...

    dom4j基础入门文档(SAX,DOM,XPATH)

    10. `org.dom4j.Entity`: 定义XML实体,用于引用外部资源。 11. `org.dom4j.Node`: 为所有dom4j中的XML节点提供多态行为,是所有节点的基类。 12. `org.dom4j.NodeFilter`: 定义了一个过滤器或谓词,用于筛选节点。 ...

    java_Dom4j解析XML详解.docx

    在实际操作XML文档时,DOM4J提供了多种方法。例如,读取XML文档可以使用`SAXReader`或`DOMReader`,它们都实现了统一的接口,使得代码更简洁。以下是一个使用`SAXReader`读取XML文档的例子: ```java import org....

    java_Dom4j解析XML详解.pdf

    DOM4J的灵活性和强大功能使其成为Java开发中处理XML的理想选择,无论是简单的读取、解析,还是复杂的构建和修改XML文档,DOM4J都能提供高效且直观的解决方案。在实际项目中,结合XPath的使用,DOM4J可以方便地定位和...

    DOM4j属性的详细介绍及相关的例子

    它提供了一套全面的API来操作XML,包括读取、创建、修改和解析XML文档。以下是DOM4j中一些主要接口及其功能的详细解释: 1. **Attribute接口**:该接口代表XML文档中的属性,比如`&lt;element attr="value"/&gt;`中的`...

    DOM4j介绍.doc

    在性能方面,DOM4J在多种XML解析器的比较中表现出色,尤其是在处理大型XML文档时,其效率高、内存占用少的特点尤为突出。这使得DOM4J成为许多开发者在Java项目中首选的XML处理工具。 在国内,虽然JDOM曾经是流行的...

    dom4j详细使用用法

    要读取并解析XML文档,可以使用`org.dom4j.io`包中的`SAXReader`类。`SAXReader`是一个轻量级的解析器,适用于大型文档,因为它不会一次性将整个文档加载到内存中。以下是一个读取XML文件的基本示例: ```java ...

    DOM4J很全的学习资料知识点讲解加上例子

    - DOM解析:DOM4J也支持DOM解析,但不推荐,因为整个XML文档会被加载到内存,适合小型XML文档。 - StAX解析:DOM4J可以通过StAX API实现流式处理,介于SAX和DOM之间,既节省内存又可控制处理流程。 3. **DOM4J的...

    dom4j教程,详细文档

    - **高性能**: 在处理大量XML数据时,DOM4J相比其他解析器具有更高的性能优势。 - **支持多种模式**: DOM4J同时支持DOM和SAX两种解析模式,可以根据实际需求选择最合适的方式进行解析。 #### 二、DOM4J 主要接口...

    解析XML文件(字符串)的两种方法

    `DocumentHelper`也是DOM4J库的一部分,提供了更简便的方式来解析XML文档。相比`SAXReader`,`DocumentHelper`更适用于处理简单的场景。 ##### 示例代码分析 ```java Document document = DocumentHelper....

    dom4j教程.pdf

    - **使用场景**:处理XML文档中的外部实体引用时使用。 ##### 12. `Node` - **定义**:`Node`接口为所有DOM4J中的XML节点定义了多态行为。 - **使用场景**:处理XML文档时,`Node`是所有节点的基类。 ##### 13. `...

    DOM4J从基础到精通

    DOM4J提供了两种解析XML的方式:`SAXReader`和`DOMReader`。 - **SAXReader**:基于SAX解析器构建DOM4J树。可以从多种输入源构建DOM4J树,如XML文件。 - **DOMReader**:从一个已经存在的W3C DOM树构建DOM4J树。 #...

    dom4j包和对应实体类包

    在Java世界里,DOM4J是仅次于JDOM的另一个广泛使用的XML处理工具,尤其在处理大型XML文档时,其性能表现优秀。 在给定的“dom4j包”中,我们可以推测它包含了DOM4J库的各种类和接口,这些可以帮助我们执行XML相关的...

Global site tag (gtag.js) - Google Analytics