大家一般都是使用dom4j来处理xml文档,不过在使用xpath表达式的时候,会出问题,当然,排除xpath expreesion本身的原因。仔细翻阅dom4j docs,你会发现下面这段话。
===============================================
The dom4j.jar only contains the dom4j classes. If you want to use a SAX parser, you'll have to include the SAX classes and the SAX parser of your choice to your CLASSPATH. If you want to use XPath expressions, you also have to include the jaxen.jar to your CLASSPATH. (注:这里是关键)
dom4j can use your existing XML parser and/or DOM implementation (such as Crimson or Xerces if you want it to. dom4j can also use JAXP to configure which SAX Parser to use - just add the jaxp.jar to your CLASSPATH and whichever SAX parser you wish away you go. ===============================================
原来我们需要导入jaxen.jar 这个jar包。
jaxen.jar是一个用JAVA开发的xpath engine,用于配合各种基于xml的对象模型,如DOM,dom4j和JDOM。
将此包导入到classpath中,就ok 了。
分享到:
相关推荐
DOM4J和XPath是两种在Java编程环境中广泛用于XML处理的重要工具。XML(eXtensible Markup Language)是一种用于标记数据的语言,常用于结构化数据的存储和交换。DOM4J是一个灵活且功能丰富的Java库,它提供了强大的...
这篇博文将深入探讨如何在DOM4J中使用XPath进行数据查找和操作。 首先,我们需要理解DOM4J中XPath的基本概念。XPath表达式是由路径、轴、节点测试和节点组合组成的字符串,用于定位XML文档中的特定节点。例如,`/...
DOM4J库集成了XPath支持,使得在DOM4J中使用XPath查询XML数据变得非常方便。 DOM4J的主要特性包括: 1. **XML解析**:DOM4J提供了多种解析方式,包括DOM、SAX和StAX,以适应不同的性能和内存需求。 2. **文档模型**...
12. **Node**: 为DOM4J中所有的XML节点定义多态行为。 13. **NodeFilter**: 定义在DOM4J节点中产生的一个过滤器或谓词的行为。 14. **ProcessingInstruction**: 定义XML处理指令。 15. **Text**: 定义XML文本节点。 ...
**DOM4J中XPath的使用** XPath是一种在XML文档中查找信息的语言,它被设计用来在XML文档中导航,寻找节点、属性或者信息。DOM4J是Java中一个非常流行的XML处理库,它提供了对XPath的强大支持。这篇文档将深入探讨...
DOM4J和XPath是XML处理领域中的两个重要概念,它们在Java编程中有着广泛的应用。DOM4J是一款灵活且功能强大的...在Java项目中,使用DOM4J配合XPath可以极大地提高开发效率和代码的可读性,尤其在处理复杂XML文档时。
要使用DOM4J和XPath,首先需要在项目中引入相应的jar包。提供的压缩包中包含的"dom4j"文件,很可能就是DOM4J库的jar包。通常,还需要一个支持XPath的jar包,如jaxen,它为DOM4J提供了XPath的支持。如果你的描述中...
在Java开发中,DOM4J和XPath是两个重要的XML处理工具。XML(eXtensible Markup Language)是一种标记语言,广泛用于数据交换、配置文件和文档结构化存储。DOM4J和XPath则提供了方便的方式来解析、操作和检索XML文档...
DOM4J与XPath的结合使用,大大简化了XML处理的复杂度,提高了开发效率。在实际项目中,它们是处理XML数据不可或缺的工具。通过深入学习和实践,开发者可以更好地掌握XML的解析、操作和查询技术,提升项目中的数据...
11. `org.dom4j.Node`: 为所有dom4j中的XML节点提供多态行为,是所有节点的基类。 12. `org.dom4j.NodeFilter`: 定义了一个过滤器或谓词,用于筛选节点。 13. `org.dom4j.ProcessingInstruction`: 定义XML处理指令,...
XPath使用路径表达式来选取节点,这些表达式类似于我们在文件系统中使用的路径,但更为强大和灵活。 **DOM4J的主要功能** 1. **解析XML**:DOM4J可以使用DOM、SAX或StAX解析器加载XML文档,提供多种解析方式以适应...
以下将详细讲解如何在DOM4J中使用XPath。 首先,我们需要导入必要的DOM4J库和JAXB库,因为SAXReader类用于读取XML文件,它属于DOM4J的一部分: ```java import org.dom4j.Document; import org.dom4j....
总结来说,理解XPath的路径表达式以及如何在Dom4j中使用它们是处理XML文档的关键技能。掌握这两种路径类型,不仅可以精确地定位XML文档中的数据,还能提高代码的可读性和可维护性。在实际开发中,根据需求选择合适的...
在DOM4J中,我们可以利用XPathAPI来选取XML文档中的特定部分。例如,以下代码展示了如何使用XPath选取XML中的元素: ```java import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.XPath...
在项目中使用DOM4J时,只需将相应的jar包(如dom4j-1.6.1.jar、dom4j-2.0.2.jar或dom4j-2.1.1.jar)导入到类路径中,即可开始利用其功能处理XML文档。导入后,可以按照DOM4J提供的API进行编程,快速实现XML的读写...
在本示例中,"sendXmlPersist"可能是演示程序的主类或测试用例,它展示了如何使用DOM4j和Maven配合工作。具体步骤可能包括以下几步: 1. **引入DOM4j依赖**:在`pom.xml`文件中,添加DOM4j的依赖项,这样Maven会在...
DOM4J 的主要特点是使用大量的接口,所有主要接口都在 org.dom4j 里面定义。 一、DOM4J 简介 DOM4J 是一个基于 Java 的 XML 解析包,用于解析和操作 XML 文档。它提供了一个简洁的 API,方便用户快速地解析和操作 ...
在Dom4j中,使用`XPath`类进行查询。 1. **创建XPath对象**:首先,需要创建一个`XPath`对象,通常通过`DocumentHelper.createXPath()`方法实现。 ```java XPath xpath = DocumentHelper.createXPath("//element[@...
Jaxen使XPath查询在不同的XML解析器之间具有可移植性,因此即使在DOM4J中使用XPath,也可以通过Jaxen调用其他解析器的实现。 "W3CSchool.chm"文档是一个经典的在线编程学习资源,其中的XPath教程可能包含了XPath的...
总之,DOM4J 1.6.1是一个功能强大且广泛使用的XML处理库,它的Maven集成使得在Java项目中使用变得方便。无论是创建XML文档、查询XML结构还是进行XML数据操作,DOM4J都能提供简洁、高效的API。在安装和使用过程中,...