`
border
  • 浏览: 205829 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

dom4j解析特殊字符出错

    博客分类:
  • Java
阅读更多
用DocumentHelper.parseText(text)解析的时候,text里面有些特殊字符,比如\0x07, \0x13,这些,就报异常。有什么办法处理嘛?
分享到:
评论
4 楼 damoqingquan 2008-10-17  
但是需要解析的文本是固定生成的,若对某个字符进行转义,可能会将合法的部分也转义,这样就达不到解决效果了啊。
到底如何是好呢?
3 楼 阳光晒晒 2008-10-16  
解析之前转意
2 楼 damoqingquan 2008-10-16  
我也遇到通用的问题,不知道怎么解决才好!
1 楼 border 2007-10-21  
还以为CDATA可以躲过一截,结果还是报错。。。

org.dom4j.DocumentException: Error on line 24 of document  : An invalid XML character (Unicode: 0x13) was found in the CDATA section. Nested exception: An invalid XML character (Unicode: 0x13) was found in the CDATA section.
	at org.dom4j.io.SAXReader.read(SAXReader.java:482)
	at org.dom4j.DocumentHelper.parseText(DocumentHelper.java:278)
	at book.xml.dom4j.StringToDoc.main(StringToDoc.java:32)
Nested exception: 
org.xml.sax.SAXParseException: An invalid XML character (Unicode: 0x13) was found in the CDATA section.
	at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
	at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source)
	at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
	at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
	at org.apache.xerces.impl.XMLScanner.reportFatalError(Unknown Source)
	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanCDATASection(Unknown Source)
	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
	at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
	at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
	at org.dom4j.io.SAXReader.read(SAXReader.java:465)
	at org.dom4j.DocumentHelper.parseText(DocumentHelper.java:278)
	at book.xml.dom4j.StringToDoc.main(StringToDoc.java:32)
Nested exception: org.xml.sax.SAXParseException: An invalid XML character (Unicode: 0x13) was found in the CDATA section.
	at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
	at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source)
	at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
	at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
	at org.apache.xerces.impl.XMLScanner.reportFatalError(Unknown Source)
	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanCDATASection(Unknown Source)
	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
	at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
	at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
	at org.dom4j.io.SAXReader.read(SAXReader.java:465)
	at org.dom4j.DocumentHelper.parseText(DocumentHelper.java:278)
	at book.xml.dom4j.StringToDoc.main(StringToDoc.java:32)
Exception in thread "main" java.lang.NullPointerException
	at book.xml.dom4j.StringToDoc.main(StringToDoc.java:36)

相关推荐

    java读写xml文档_dom4j.jar

    DOM4J提供了解析XML文档并获取元素的方法,如`Document`类的`rootElement()`可以获取根元素,`Element`类的`elements()`和`element()`则用于遍历和获取子元素。 2. **属性(Attribute)**:元素可以包含属性,如`...

    Dom4jUtils 工具类让你更加方便操作XML的MarkerIce.Jar

    首先,`Dom4jUtils`工具类通常包含了对DOM4J库的一系列实用方法,旨在简化XML的读取、解析、修改和生成等任务。它可能包含如下的功能: 1. **XML文件读取**:通过静态方法,`Dom4jUtils`可以轻松地加载XML文件并...

    Uncaught DOMException:

    这通常涉及特殊字符或非ASCII字符。 4. **跨域问题**:当尝试访问不同源的DOM元素时,浏览器的安全策略会阻止这种操作,导致 "SecurityError"。 5. **选择器错误**:编写错误的CSS选择器,如无效的类名或ID,也...

    dom动态生成使用XML DOM生成XML.pdf

    ### DOM动态生成与XML DOM的使用 #### 一、引言 随着XML(Extensible Markup Language,可扩展标记语言)在网络开发中的广泛应用,其复杂度也在不断提升。XML作为一种功能强大的新型数据结构,允许开发者将网页的...

    关于UI jeson解析和xml解析

    Android SDK本身内置了两种XML解析方式:DOM解析和SAX解析。DOM解析会一次性加载整个XML文档到内存,适合小规模的XML处理;而SAX解析采用事件驱动的方式,逐行读取XML,占用内存少,适用于处理大型XML文件。除了系统...

    javascript DOM 操作.doc

    载入 XML 数据:在FireFox中,只支持load方法,可以通过parseFromString方法解析字符串型的xml数据,模拟loadXML方法。 ```javascript oXmlDom.load("example.xml"); // 载入xml文件 oXmlDom.parseFromString(...

    XML通用解析工具类

    1. DOM解析器:它将整个XML文档加载到内存中,形成一个树形结构,允许开发者随机访问任何部分。优点是方便操作,缺点是对大文件内存消耗较大。 2. SAX解析器:采用事件驱动的方式,逐行读取XML,只在遇到特定元素时...

    基于c++ 的XML解析 开源包 tinyxml

    1. **解析XML文档**:TinyXML可以从XML文件或字符串中加载文档,并将其解析为一个DOM(Document Object Model)树。DOM是一种将XML文档结构化的数据模型,其中每个元素、属性和文本都表示为树中的节点。 2. **遍历...

    xml解析工具类

    DOM解析器将整个XML文档加载到内存中,形成一个树形结构,方便开发者对整个文档进行遍历和操作。而SAX则是一种事件驱动的解析方式,它逐行读取XML文档,遇到元素、属性等时触发相应的事件,适合处理大型XML文件,...

    对Apache生产的XML文档生成和解析库的封装,支持XML中包含中文字符串

    4. 错误处理:捕获并报告解析过程中的错误,如语法错误、编码错误等。 5. 性能优化:可能包括缓存策略、内存管理等,提高处理大量XML数据的效率。 总之,对Apache XML解析库进行封装,是为了提高开发效率,简化XML...

    XMLDOM对象方法手册

    - `xmlDoc.parseError`: 当解析XML文件出错时,可以获取错误信息。 - `xmlDoc.parseError.errorCode`: 错误代码。 - `xmlDoc.parseError.reason`: 错误原因。 8. **命名空间支持** 在处理包含命名空间的XML文档...

    Jsoup解析html

    它提供了简单易用的API,使得开发者可以方便地抓取和操作HTML数据,而无需复杂的正则表达式或DOM解析器的繁琐工作。在这个主题中,我们将深入探讨Jsoup的主要功能、使用方法以及它在实际项目中的应用。 首先,Jsoup...

    正则解析html

    8. **替代方法**:由于HTML的复杂性,推荐使用DOM解析库(如JavaScript中的`DOMParser`或Python的`BeautifulSoup`)来解析HTML,它们可以更好地处理嵌套和属性。 尽管正则表达式在某些简单情况下可以解析HTML,但...

    XMLTokener_token_

    与DOM解析器或SAX解析器不同,XMLTokener并不构建整个XML文档的树形结构,而是逐个返回XML元素、属性、注释等标记。这种机制使得它在处理小规模或简单的XML数据时更为轻量级和高效。 ### 使用XMLTokener的基本步骤 ...

    JSP中截取在线编辑器的字符串的处理.

    更为推荐的方法是使用DOM解析器,如Java的`javax.xml.parsers.DocumentBuilderFactory`,将HTML字符串转换为DOM树,然后对树进行遍历截取。这样可以确保HTML结构的完整性和正确性。但是,DOM解析对内存和CPU资源的...

    解析JAVA的XML编程.pdf

    1. **DOM解析器**:DOM是一种将XML文档表示为树形结构的API,使得开发者可以访问和修改XML文档的任何部分。在Java中,`DocumentBuilderFactory`和`DocumentBuilder`是用于创建DOM解析器的关键类。`...

    json解析方式

    4. **手动解析** 对于简单的JSON数据,开发者也可以选择手动解析,通过字符串分割、正则表达式匹配等手段。但这不推荐,因为容易出错且不易维护。 5. **错误处理与验证** 解析过程中可能出现错误,如语法错误、...

    创建XML文件.rar

    各种编程语言都有XML解析器,如Java的JAXB、DOM4J,Python的lxml,JavaScript的DOMParser等,它们提供了处理XML的API,方便开发人员进行XML操作。 在创建XML文件时,要确保遵循以上规则和概念,以确保XML文件的有效...

    Java基础测试题 带答案

    - **知识点**: 使用Dom4j解析XML文件时获取节点属性的方法。 - **解析**: 在Dom4j中,`Element` 对象提供了多种方法来处理XML元素。要获取节点的属性,应使用 `attribute()` 方法。因此,正确答案是 D: `attribute()...

    高效的 RapidJSON 解析/生成器支持库,提供 SAX 及 DOM 操作

    高效的 C++ JSON 解析/生成器,提供 SAX 及 DOM 风格 API 简介 RapidJSON 是一个 C++ 的 JSON 解析器及生成器。它的灵感来自 RapidXml。 RapidJSON 小而全。它同时支持 SAX 和 DOM 风格的 API。SAX 解析器只有约 ...

Global site tag (gtag.js) - Google Analytics