下面是一个工具类,以XPath方式获取XML元素值,此工具类于上海期货交易所的一个系统项目中创建,代码如下:
java 代码
-
-
-
- package com.test.utils.toolkit;
-
- import java.io.File;
- import java.io.FileNotFoundException;
- import java.net.MalformedURLException;
- import java.util.ArrayList;
- import java.util.Iterator;
- import java.util.List;
-
- import org.dom4j.Document;
- import org.dom4j.DocumentException;
- import org.dom4j.Element;
- import org.dom4j.Node;
- import org.dom4j.io.SAXReader;
-
-
-
-
-
- public class XMLToolkit {
-
- private String fileName = null ;
- private Document doc = null ;
-
- public XMLToolkit(String fileName) throws MalformedURLException, DocumentException, FileNotFoundException {
- this.fileName = fileName ;
- this.doc = readDocument() ;
- }
-
- private Document readDocument()
- throws MalformedURLException, DocumentException, FileNotFoundException {
- SAXReader reader = new SAXReader();
- Document document = reader.read(new File(this.fileName));
- return document;
- }
-
- public Element getRootElement() {
- return this.doc.getRootElement();
- }
-
-
- public String getNodeValue(String path) {
- Node node = this.doc.selectSingleNode(path);
- String value = node.getText() ;
- return value;
- }
-
-
- public List getNodesValue(String path) {
- List list = this.doc.selectNodes(path);
- Iterator it = list.iterator() ;
- List resultList = new ArrayList() ;
- while(it.hasNext()) {
- Node node = (Node)it.next() ;
- resultList.add(node.getText()) ;
- }
- return resultList ;
- }
-
- public static void main(String[] args) {
- try {
- XMLToolkit xmlTool = new XMLToolkit("home/datasource.xml") ;
- String value = xmlTool.getNodeValue("//datasources/datasource/driver") ;
- System.out.println("value: " + value) ;
- } catch (MalformedURLException e) {
- e.printStackTrace();
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- } catch (DocumentException e) {
- e.printStackTrace();
- }
-
- }
- }
元素属性的获取将后续给出。
分享到:
相关推荐
在Java编程中,JDOM库是一个流行的解析和操作XML的工具,它提供了对XPath的支持,使得我们可以方便地通过XPath表达式来读取XML文档的节点。 首先,理解XPath的基本语法是非常重要的。XPath表达式由路径表达式组成,...
总结一下,JavaScript中使用XPath解析XML元素的关键知识点包括: 1. XPath是用于在XML文档中查找信息的语言,它基于路径表达式。 2. `selectNodes()`和`selectSingleNode()`方法在IE中用于选取XML节点,但不是标准...
XPath是一种在XML文档中查找信息的语言,它是XML处理中的重要工具。XML(eXtensible Markup Language)是一种标记语言,常...在实际操作中,需要考虑XML的结构、XPath的使用以及数据的组织方式,以实现准确无误的转换。
本文将深入探讨如何使用DOM和XPath来读取XML数据,并将其有效导入到Oracle数据库中。 首先,DOM是一种将XML文档结构化为树形模型的API,它允许开发者通过节点操作来访问和修改XML文档的任何部分。在Java中,我们...
4. **XPath查询** - 通过`pugi::xpath_query`和`pugi::xpath_node_set`执行XPath表达式获取所需元素。 5. **处理结果** - 解析XPath查询结果,提取或修改XML数据。 6. **保存修改** - 如果需要,使用`pugi::xml_...
XPath是XML文档遍历和数据提取的重要工具,它允许我们以简洁的方式定位XML文档中的元素、属性和其他节点。在这个场景中,“Xpath读取xml文件,实现文件缓存”指的是利用XPath来高效地检索XML数据,并通过缓存机制...
此外,XPath还支持函数,如count()计算节点数量,string()获取节点的字符串值,normalize-space()去除空格等。 对于“用XPath精确定位节点元素”的主题,掌握以下几个关键点至关重要: 1. **基础语法**:理解路径...
这个“读取XML属性值.rar”压缩包可能包含了一个示例或工具,用于演示如何在编程中读取XML文档中的属性值。 在读取XML属性值时,我们通常会用到以下知识点: 1. XML的基本结构:XML文档由元素、属性、文本、注释等...
使用libxml2时,我们需要先用`xmlParseDoc()`解析XML,得到`xmlDocPtr`,然后调用`xmlXPathNewContext()`创建XPath上下文,接着使用`xmlXPathEvalExpression()`执行XPath表达式并获取结果集。 XPath表达式的语法...
XPath的通配符可以用来选取未知的XML元素和属性: - `*` 匹配任何元素节点。 - `@*` 匹配任何属性节点。 - `node()` 匹配任何类型的节点。 此外,可以使用“|”运算符选取多个路径: - `//book/title | //book/...
SAX是一种事件驱动的解析方式,它逐行读取XML文档,当遇到元素、属性等结构时触发相应的事件回调。这种方式不需要将整个XML加载到内存,因此内存占用较小,适合处理大型文件。然而,SAX解析不提供直接的元素查找功能...
XPath作为一种强大的工具,不仅简化了XML文档的解析和处理,还提供了灵活多样的节点定位方式。掌握XPath的基本概念和操作是任何处理XML数据的开发者所必需的技能。通过深入理解XPath的数据类型、节点类型以及路径...
4. **修改节点**:`nodeValue`属性用于读写文本节点内容,`innerHTML`属性用于设置或获取元素的所有子节点。`appendChild`、`removeChild`、`replaceChild`等方法用于添加、删除和替换节点。 5. **创建新节点**:`...
XPath 使用路径表达式来选取节点,如元素、属性、文本等。本篇文章将详细探讨如何查看网页元素的 XPath,并介绍其相关知识点。 首先,XPath 的基本概念: 1. **节点**:在 XML 或 HTML 文档中,节点可以是元素(如...
3. **XPath表达式构建**:在获取到用户选择的元素后,小工具需要根据DOM结构自动生成XPath表达式。这涉及到对DOM树的遍历和XPath语法的理解,包括路径、轴、节点测试和谓语等。 4. **用户交互**:为了方便用户,小...
XPath(XML Path Language)则是用来在XML文档中查找信息的语言,它允许我们通过路径表达式来选取XML节点,如元素、属性、文本等。本篇文章将深入探讨如何使用Dom4j,一个流行的Java库,结合XPath来解析XML文件中的...
在IT行业中,尤其是在网页爬虫和自动化测试领域,获取网页上的XPath和CSS选择器路径是一项基本且重要的技能。XPath和CSS选择器是两种常见的定位HTML元素的方法,它们被广泛用于网页抓取、网页自动化和测试工具中。这...
XPath,全称XML Path Language,是一种在XML文档中查找信息的语言。它被广泛应用于Web抓取,特别是Python的Scrapy框架中,用于选取XML或HTML文档中的节点。本文将深入探讨如何使用XPath来获取子标签下的所有文本内容...