Java xpath 示例 - 评估 xml 文件的 xpath

位置:首页>文章>详情   分类: Java教程 > 编程技术   阅读(316)   2023-06-26 07:54:18

Java xpath 示例 读取 XML 文件并解析为 DOM 对象,然后评估 org.w3c.dom.Document 对象上的 xpath 并获得结果以 StringNodeList 的形式。

1. Java 在 xml 文件上评估 xpath

  1. 创建 Document DOM 对象 javax.xml.parsers.DocumentBuilder 对象。
  2. 创建 XPath来自 XPathFactory
  3. 使用 xpath.evaluate('expression', dom, resultType) 获取结果 HTML。
package com.cundage.demo;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathExpression;
import javax.xml.xpath.XPathExpressionException;
import javax.xml.xpath.XPathFactory;

import org.w3c.dom.Document;
import org.w3c.dom.NodeList;

public class XPathExample 
{
	public static void main(String[] args) throws Exception 
	{

		String xmlFile = "employees.xml";
		
		//Get DOM
		DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
        DocumentBuilder db = dbf.newDocumentBuilder();
        Document xml = db.parse(xmlFile);

        //Get XPath 
        XPathFactory xpf = XPathFactory.newInstance();
        XPath xpath = xpf.newXPath();
        
        //Get first match
        String name = (String) xpath.evaluate("/employees/employee/firstName", xml, XPathConstants.STRING);
        
        System.out.println(name);	//Lokesh
        
        //Get all matches
        NodeList nodes = (NodeList) xpath.evaluate("/employees/employee/@id", xml, XPathConstants.NODESET);
        
        for (int i = 0; i < nodes.getLength(); i++) {
        	System.out.println(nodes.item(i).getNodeValue());	//1 2
        }
    }
}    

程序输出:

Lokesh
1
2

2.XML文件

输入的 xml 文件是:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<employees>
    <employee id="1">
        <firstName>Lokesh</firstName>
        <lastName>Gupta</lastName>
        <department>
            <id>101</id>
            <name>IT</name>
        </department>
    </employee>
    <employee id="2">
        <firstName>Brian</firstName>
        <lastName>Schultz</lastName>
        <department>
            <id>102</id>
            <name>HR</name>
        </department>
    </employee>
</employees>

快乐学习!!

标签2: Java XML XML Files XPath
地址:https://www.cundage.com/article/evaluate-xpath-on-dom.html

相关阅读

Java xpath 示例 读取 XML 文件并解析为 DOM 对象,然后评估 org.w3c.dom.Document 对象上的 xpath 并获得结果以 String 或 NodeList ...
很多时候我们需要解析一个 XML 文件并从中提取信息。例如,使用 xpath 读取 XML 元素的属性值。在此 Java XPath 教程中,学习从 XML 字符串获取属性值。 我正在使用 jd...
如何使用 xpath 在 xml 中获取属性值的简单示例在爪哇。我们将学习获取信息以匹配属性值、范围内的属性值、xpath attribute contains() 等等。 1. XPath属性...
Java xpath 表达式示例,通过评估这些表达式从 XML 文档中提取信息。我们将学习获取信息以匹配属性值、匹配字段值、contains() 表达式等。 1. XPath 查询示例 1.1....
评估字符串的 xpath 并在字符串本身中返回结果 XML 的 Java 示例。 1. XPath 示例——在 xml 字符串上计算 xpath 创建包含 org.xml.sax.InputSo...
在此 java 示例中,我们将学习使用 NamespaceContext 具有命名空间声明和各自的用法。 命名空间添加了 XML 文件 我创建了 sample.xml 文件并放入类路径中。 &l...
使用 XPath 在给定 XML 内容中检查节点是否存在或在 XML 中检查属性是否存在的 Java 示例。 1、如何判断xml节点是否存在? 要验证节点或标记是否存在于 XML 内容中,您可以...
JDOM 解析器 可用于读取 XML、解析 xml 以及在更新 XML 文件内容后写入 XML 文件。它将JDOM2 文档 存储在内存中以读取和修改它的值。 将 XML 文档加载到内存后,JDO...
读取 XML 文件和打印 XML 字符串以控制或将 XML 写入文件的 Java 示例。 1) 将 XML 转换为字符串 转换 XML 对象即 org.w3c.dom.Document 成字符串...
在 Java 中,XML 用 org.w3c.dom.Document 对象表示。在本 XML 教程中,我们将学习 – 将 XML 字符串转换为 XML 文档 将 XML 文件内容转换为 XML...