java - 如何从 XML 中的特定标记获取所有值?

标签 java xml

我有file.xml我需要用java提取 <command> 中的所有值标签:

<?xml version="1.0"?>
<config>
<command> com1 </command>
<result> res1 </result>
<command> com2 </command>
<result> res2 </result>
</config>

可能存在一些方法可以将此值提取到 ArrayList 吗?

最佳答案

XPATH 是一个不错的选择。请检查下面的代码,它可以帮助您

    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    DocumentBuilder builder =  factory.newDocumentBuilder();
    Document doc = builder.parse("test.xml");

    XPathFactory xFactory = XPathFactory.newInstance();
    XPath xpath = xFactory.newXPath();
    XPathExpression  expr = xpath.compile("//command/text()");
    Object result = expr.evaluate(doc, XPathConstants.NODESET);

    NodeList nodes = (NodeList) result;
    for (int i=0; i<nodes.getLength();i++){
      System.out.println(nodes.item(i).getNodeValue());
    }

关于java - 如何从 XML 中的特定标记获取所有值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21984304/

相关文章:

java - 检索列表需要花费大量时间

Java Swing : scale image read from url

xml - 从 WebRequest 模拟 WebResponse

json - Node.js 将 XML 转换为 JSON 并将其返回给前端

php - 如何提取和导入维基百科页面?

java - 更新给定父类(super class)的子类

java - PHP和Java之间的加密

python - Ubuntu 上的 PyXML

java - 为 lambda 表达式存储 out 范围变量的位置

javascript - 缺少 XML 节点