`
hn_archer
  • 浏览: 133032 次
  • 性别: Icon_minigender_1
  • 来自: 河南
社区版块
存档分类
最新评论

dom4j解析XML--异常总结

 
阅读更多

1:org.dom4j.IllegalAddException: No such namespace prefix: 

这个异常是说:要添加的这个元素的前缀,没有声明!这主要是在添加元素时直接用上级元素的allElement方法时出现的。例:

Element ns1 = rootTarget.addElement("SOAP-ENV:Body");                                           

 

有两种解决方式:

A:新建一个Element,加上前缀声名后再添加到父元素上去。

Element ns1 = org.log4j.documentHelper.createElement("ns1:aaa");

       ns1.add(new Namespace("ns1","urn:HyrjService");

       rootTarget.add(ns1);     

B:直接在根上声名:然后就可以用addElement方法去添加结点了!

rootTarget.add(new Namespace("ns1","http://www.w3.org/2001/XMLSchema"));

 

2:Nested   exception:   缺少文件根组件。

这是因为xml解析器的问题,以前一直在web环境下跑程序,用的是xerces解析器,就不会报上面的错误。

但是独立运行的程序如果用jdk1.4.2和dom4j1.6.1时就回有上面的错误,因为用的是jdk自带的解析器crimson。

 

解决办法就是:

a:用xerces解析器,可以从tomcat中找到xercesImpl.jar和xml-api.jar放到工程中就可以了。

b:换jdk1.5,jdk1.5下面也没有这个问题,应该是jdk1.5自带的解析器解决了这个问题了。

 

根本原因是xml含有bom头导致,就是EF BB BF。

 

3:Malformed UTF-8 char -- is an XML encoding declaration missing?”(行号可能太小)。

解决:XML文件一定要是UTF-8格式的!

分享到:
评论

相关推荐

    dom4j-2.1.0.jar dom4j-2.1.0-javadoc.jar

    它可以解析XML文件并将其转换为DOM4J的Document对象,方便进一步处理。 2. **XPath支持**:DOM4J实现了XPath语言,允许开发者通过简洁的表达式来查询XML文档中的节点,大大简化了对XML数据的查找和操作。 3. **...

    dom4j-2.0.0-ALPHA-2.jar

    1. **XML解析**:DOM4J可以以DOM、SAX和StAX三种方式解析XML,适应不同场景的需求。 2. **构建XML**:通过API,开发者可以方便地创建新的XML结构,或者修改已有文档。 3. **XPath查询**:利用XPath,能够高效地...

    DOM4J解析XML时DTD路径问题

    ### DOM4J解析XML时DTD路径问题 在处理XML文件时,经常需要用到DOM4J这样的库来进行解析。当XML文件包含DTD(Document Type Definition)声明时,DOM4J默认会尝试从指定的URL加载DTD文件来进行验证。这通常是为了...

    dom4j解析xml

    **标题:**DOM4J解析XML **描述:**这个压缩包包含了一个关于使用DOM4J库解析XML的实例。其中,`dom4j-1.6.1.jar`是DOM4J库的版本1.6.1,它是Java平台上一个功能强大且灵活的XML处理工具。`Dom4jDemo.java`是一个...

    Dom4J解析XML

    **标题解析:** "Dom4J解析XML" 这个标题明确指出了我们要讨论的核心技术——使用Dom4J库来解析XML文档。Dom4J是一个Java库,它提供了丰富的API来处理XML,包括读取、写入、修改以及查询XML文档。在本文中,我们将...

    dom4j 写UTF-8的xml乱码问题 使用FileOutputStream

    标题中的“dom4j 写UTF-8的xml乱码问题 使用FileOutputStream”涉及的是在使用Java编程语言处理XML文件时遇到的编码问题。DOM4J是一个强大的Java库,用于处理XML、XPath和XSLT,它提供了丰富的API来读取、写入、修改...

    dom4j xml解析

    在使用DOM4J解析XML时,可能会遇到一个特定的问题:`java.lang.IllegalStateException`异常。这个异常通常意味着在执行某些操作时,系统处于不合法或不恰当的状态。在DOM4J的上下文中,这可能是因为缺少了与DOM4J...

    使用dom4j操作xml

    **DOM4j** 是一款专为Java平台设计的开源XML解析处理工具。它的设计充分考虑了性能和易用性,同时提供了对DOM、SAX及JAXP等标准的支持,因此非常适合进行复杂的XML文件读写操作。 ##### 版本与获取 - **最新版本**...

    XSD使用dom4j校验XML

    DOM4J是Java环境中一个强大、灵活的XML处理库,它提供了XML的读取、写入、解析和操作的能力。本篇文章将深入探讨如何利用DOM4J库来实现XSD对XML文档的校验,以确保XML文件符合预先设定的数据结构规则。 首先,理解...

    dom4解析xml需要的包

    在实际项目中,为了使用DOM4J解析XML,需要将这些jar包加入到项目的类路径中。如果是Maven项目,可以通过在pom.xml文件中添加对应的依赖项。在开发过程中,确保所有依赖正确无误,可以避免运行时出现...

    dom4j -1.6.1 源码 dom4j -1.6.1 源码

    1. **读取XML**: dom4j提供了`DocumentReader`和`SAXReader`类,分别基于DOM和SAX解析XML文件。 2. **写入XML**: `DocumentWriter`和`XMLWriter`类用于将构建的XML对象序列化为XML字符串或文件。 3. **修改XML**: ...

    java解析xml并导入数据库(dom4j).doc

    Java 解析 XML 并导入数据库(DOM4J) Java 解析 XML 并导入数据库是指使用 Java 语言将 XML 文件解析并将其内容导入到数据库中。下面是使用 DOM4J 库来实现此功能的相关知识点: 一、XML 文件解析 XML...

    dom4j以String的方式读取XML的内容,并给String的值赋值,写入XML中

    1. **解析XML到String** 要将XML文件读取为String,首先需要创建一个`Document`对象,这是DOM4J的核心数据结构,代表整个XML文档。可以使用`DocumentHelper`类的静态方法`parseText()`或`readFile()`来完成这个任务...

    DOM4J格式化XML

    3. **DOM4J解析XML**:介绍如何使用DOM4J读取XML文件并创建Document对象,解析XML元素和属性。 4. **DOM4J格式化API**:详述DOM4J库中用于格式化XML的类和方法,如`DocumentHelper.formatDocument()`或`Element....

    dom4j创建与解析xml分析与实例

    #### 三、DOM4J解析XML文档 ##### 1. 使用SAXReader读取文件 使用`SAXReader`类读取XML文件: ```java SAXReader reader = new SAXReader(); Document doc = reader.read(new File("input.xml")); ``` ##### 2. ...

Global site tag (gtag.js) - Google Analytics