java - 在java中查找XML文件中特定属性的值

标签 java xml

我只需要使用 java 读取 XML 文件中单个属性的值。 XML 看起来像这样:

<behavior name="Fred" version="2.0" ....>

我只需要读出版本。有人可以指出可以告诉我如何执行此操作的资源方向吗?

最佳答案

您不需要花哨的库 -- DOM 的普通旧 JAXP 版本和 XPath为此很容易阅读和写作。无论您做什么,都不要使用正则表达式。

import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathFactory;

import org.w3c.dom.Document;

public class GetVersion {
    public static void main(String[] args) throws Exception {
        XPath xpath = XPathFactory.newInstance().newXPath();
        Document doc = DocumentBuilderFactory.newInstance()
            .newDocumentBuilder().parse("file:////tmp/whatever.xml");
        String version = xpath.evaluate("//behavior/@version", doc);
        System.out.println(version);
    }
}

关于java - 在java中查找XML文件中特定属性的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1330456/

相关文章:

java - 正则表达式只允许某些特殊字符,还包括字母数字字符

python - Pyspark 错误 : "Py4JJavaError: An error occurred while calling o655.count." when calling count() method on dataframe

php - 如何从 PHP 解析以文本/xml 形式发送到服务器的 XML?

java - 如何从标签中删除 namespace 但保留其前缀?

java - 为什么这个 java 代码没有正确解析我的 Xml?

php - Google Adwords API 报告实用程序 - PHP - XML 无效?

java - 使用 Java 中的 Xerces 针对 XSD 1.1 进行 XML 验证

Java 反射 getConstructor 方法

java - Jsoup Java 获取特定的td

java - spring中通过@propertysource注解加载属性文件和使用PropertySourcesHolderConfigure bean加载属性文件有什么区别