`
cuishen
  • 浏览: 296899 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

关于dom4j无法读取xml文件的问题,已经困扰我几个礼拜了,哪位指点迷津!

    博客分类:
  • j2se
阅读更多
要读取的xml文件1----myXML.xml,放在c盘根目录下,原文件如下:
引用

<?xml version="1.0" encoding="UTF-8"?>
<MyXML xmlns="http://www.ttt.com/ttt-TrdInfo-1-0" xmlns:x="http://www.ttt.com/ttt/metadata.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="res286.xsd">
<Hdr>
<ReqId>001</ReqId>
<Tid>1002</Tid>
<Cid>500</Cid>
<user>cuishen</user>
<Mname>supermarket</Mname>
<pwd>543200210</pwd>
</Hdr>
<Car>
<Flg>T</Flg>
<Cod>ccc</Cod>
<Door>kkk</Door>
<mktId>b01</mktId>
<Key>
<KeyID>t01</KeyID>
</Key>
</Car>
</MyXML>



要读取的xml文件2----myXML2.xml,放在c盘根目录下,原文件如下:
引用

<?xml version="1.0" encoding="UTF-8"?>
<MyXML xmlns="http://www.ttt.com/ttt-TrdInfo-1-0" xmlns:x="http://www.ttt.com/ttt/metadata.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="res286.xsd">
<Hdr ReqId="001" Tid="1002" Cid="500" user="cuishen" Mname="supermarket" pwd="543200210"/>
<Car Flg="T" Cod="ccc" Door="kkk" mktId="b01">
<Key KeyID="t01"/>
</Car>
</MyXML>



下面是用来读取上面两个xml文件的java文件-----ReadMyXML.java
引用

import java.io.File;
import java.util.List;

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.Attribute;
import org.dom4j.io.SAXReader;
import org.dom4j.DocumentException;

public class ReadMyXML{
public static void main(String args[]){
File xmlFile = new File("c:/myXML2.xml");
SAXReader xmlReader = new SAXReader();
try{
Document document = xmlReader.read(xmlFile);
///*测试代码1
List nodeList = document.selectNodes("//MyXML/Hdr/ReqId");
Element valueElement = (Element)nodeList.get(0);
System.out.println(valueElement.getText());
//*/

/*测试代码2
Element valueElement = (Element)document.selectSingleNode("//MyXML/Hdr/ReqId");
System.out.println(valueElement.getText());
*/

/*测试代码3
Attribute valueAttribute = (Attribute)document.selectSingleNode("//MyXML/Hdr/@ReqId");
System.out.println(valueAttribute.getText());
*/
}catch(DocumentException e){
e.printStackTrace();
}
}
}


我在JCreator中导入包jaxen-1.1-beta-6.jar或者jaxen-1.1-beta-9.jar,还有dom4j-1.6.1.jar,然后在ReadMyXML.java文件中换用三段测试代码中的任意一段,都无法读出myXML.xml或myXML2.xml,这个问题已经困扰我几个礼拜了,一直无法解决,恳请哪位高人不吝指教,不胜感激!
分享到:
评论
2 楼 cznc 2007-05-08  
1 楼 zyl 2006-11-22  
问题可能出在你的xml上,
xmlns="http://www.ttt.com/ttt-TrdInfo-1-0"
xmlns:x="http://www.ttt.com/ttt/metadata.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="res286.xsd"

你定义的xsd文件有没有问题,如果去除这些,下面的代码能够正常执行:
        File xmlFile = new File("c:/myXML2.xml");
        SAXReader xmlReader = new SAXReader();
        Document document = xmlReader.read(xmlFile);
        // /*测试代码1
        List nodeList = document.selectNodes("//MyXML/Hdr/@ReqId");
        Attribute valueElement = (Attribute) nodeList.get(0);
        System.out.println(valueElement.getText());

相关推荐

    读取XML文件的四种方法

    在Java中,读取XML文件有多种方法,本文将介绍四种常见的方法:DOM、DOM4J、JDOM和SAX。 DOM(Document Object Model) DOM是W3C组织制定的XML文档对象模型,它提供了对XML文档的树形结构表示。使用DOM方法读取XML...

    利用dom4j--读取xml文件

    DOM4J是Java中一个非常优秀的XML处理库,它提供了丰富的API,使得操作XML文件变得简单而高效。在本文中,我们将详细探讨如何利用DOM4J库来读取XML文件。 1. **安装DOM4J** 要使用DOM4J,首先需要将其添加到你的...

    通过Dom4j创建和读取xml文件下载

    在Java编程中,DOM4J是一个非常流行的XML处理库,它提供了一套强大的API来创建、解析和操作XML文档。本教程将详细讲解如何利用DOM4J进行XML文件的创建和读取。首先,我们需要了解DOM4J的核心概念,如Element、...

    dom4j 解析(读取) xml 节点数据

    接下来,我们将创建一个`SAXReader`实例,它是DOM4J中的解析器,用于读取XML文件: ```java SAXReader reader = new SAXReader(); ``` 然后,使用`reader`读取XML文件并获取`Document`对象,`Document`代表整个XML...

    详细介绍使用Dom4j读取xml文件的方法

    ### 使用Dom4j读取XML文件的方法详解 #### 一、引言 在Java开发过程中,经常需要处理各种格式的数据文件,其中XML(可扩展标记语言)作为一种标准的数据交换格式被广泛使用。为了高效地解析和操作XML文档,开发者...

    DOM4J 读取xml字符串

    **DOM4J 读取XML字符串** DOM4J 是一个非常强大的 Java XML API,它提供了丰富的功能,使得处理 XML 文件变得更加简单。DOM4J 的设计理念是简洁、灵活且高性能,它支持 SAX 和 DOM 解析,并提供了面向对象的接口。...

    java中用dom4j读取xml

    本文将深入探讨如何使用DOM4J库来读取XML文件。 首先,让我们理解DOM4J的基本概念。DOM4J是基于DOM模型的,DOM(Document Object Model)是一种标准的API,用于解析XML文档并将其表示为一棵由节点组成的树形结构。...

    DOM4J读取XML

    在深入探讨如何使用DOM4J库来解析XML文件之前,我们先简要了解DOM4J的基本概念及其在Java开发环境中的重要性。DOM4J是一个轻量级、高性能且易于使用的Java库,用于处理XML文档。它提供了类似于DOM、SAX和JDOM的API,...

    dom4j解析xml详解

    - **配置文件解析**: 许多应用使用XML作为配置文件的格式,DOM4J可以方便地读取和更新这些配置信息。 - **Web服务**: 在SOAP等协议中,XML是常用的数据传输格式,DOM4J能够帮助构建和解析这些XML消息。 - **文档生成...

    DOM4j操作xml文件

    DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件

    dom4j读写xml文档实例

    要使用DOM4J读取XML文档,首先需要创建一个`SAXReader`对象,然后调用`read`方法传入XML文件路径。这将返回一个`Document`对象,我们可以从中获取所有元素信息。 ```java File file = new File("path_to_xml_file")...

    dom4j读取XML,解析XML简单示例

    在本示例中,我们将探讨如何利用DOM4J来读取和解析XML文件,以及如何通过`XMLTest.java`这个示例来理解DOM4J的基本用法。 首先,`XMLTest.java`是一个包含DOM4J操作XML的代码实例。通常,这样的程序会包含以下步骤...

    dom4j解析xml文件代码示例

    DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活且高效的API,使得XML的解析、创建、修改和查询变得简单。在本示例中,我们将深入探讨如何使用DOM4J解析XML文件,以`CacheInit.java`作为我们的核心代码...

    使用dom4j读取xml四种方法

    ### 使用dom4j读取XML的四种方法 在Java开发中,处理XML文件是一种常见的需求。Dom4j作为一款简洁高效的Java库,被广泛应用于解析、操作XML文档。本文将详细介绍使用dom4j读取XML文件的四种常见方法,并通过示例...

    使用dom4j 和本地dom 解析xml 文件

    在Java中,解析XML文件是常见的任务,通常有DOM(Document Object Model)和DOM4J两种方式。下面我们将详细探讨这两种解析方法。 DOM解析方式是将整个XML文件加载到内存中,形成一棵DOM树,每个节点代表XML文档的一...

    dom4j的jar包(读取xml)

    DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了简单且高效的API,使得XML的解析、创建、查询和修改变得容易。DOM4J的名字来源于"Document Object Model for Java",但它的功能远超出了标准DOM接口的范畴,...

    dom4j 读取带有命名空间的xml文件

    下面是一个使用DOM4J读取带有命名空间的XML文件的基本步骤: 1. **导入必要的DOM4J库**: 在项目中引入DOM4J库,通常通过Maven或Gradle等构建工具添加依赖。 2. **解析XML文件**: 使用`DocumentFactory`创建一...

    dom4j-1.6.1架包,读取xml

    在实际开发中,如果你需要读取或操作XML文件,DOM4J是一个值得考虑的工具。其简洁的API和丰富的功能可以帮助开发者高效地完成任务。不过,需要注意的是,由于1.6.1版本较旧,可能不支持最新的XML特性和规范,对于新...

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

    在这个场景中,我们关注的是如何使用DOM4J以String的形式读取XML内容,然后将String的值赋给XML中的特定节点,最后将更新后的内容写回XML文件。下面我们将详细探讨这一过程。 1. **解析XML到String** 要将XML文件...

Global site tag (gtag.js) - Google Analytics