java - 在 Java 中检索 XML 文件的节点列表

标签 java xml dom xml-parsing

我有一个如下的 XML 文件

    <?xml version="1.0"?>
<?xml-stylesheet href="catalog.xsl" type="text/xsl"?>
<!DOCTYPE catalog SYSTEM "catalog.dtd">
<catalog>
   <product description="Cardigan Sweater" product_image="cardigan.jpg">
      <catalog_item gender="Men's">
         <item_number>QWZ5671</item_number>
         <price>39.95</price>
         <size description="Medium">
            <color_swatch image="red_cardigan.jpg">Red</color_swatch>
            <color_swatch image="burgundy_cardigan.jpg">Burgundy</color_swatch>
         </size>
         <size description="Large">
            <color_swatch image="red_cardigan.jpg">Red</color_swatch>
            <color_swatch image="burgundy_cardigan.jpg">Burgundy</color_swatch>
         </size>
      </catalog_item>
      <catalog_item gender="Women's">
         <item_number>RRX9856</item_number>
         <price>42.50</price>
         <size description="Small">
            <color_swatch image="red_cardigan.jpg">Red</color_swatch>
            <color_swatch image="navy_cardigan.jpg">Navy</color_swatch>
            <color_swatch image="burgundy_cardigan.jpg">Burgundy</color_swatch>
         </size>
         <size description="Medium">
            <color_swatch image="red_cardigan.jpg">Red</color_swatch>
            <color_swatch image="navy_cardigan.jpg">Navy</color_swatch>
            <color_swatch image="burgundy_cardigan.jpg">Burgundy</color_swatch>
            <color_swatch image="black_cardigan.jpg">Black</color_swatch>
         </size>
      </catalog_item>
   </product>
</catalog>

提取特定名称(catalog_item)中的所有节点并在java中创建列表(目录项列表)的最佳方法是什么? 请注意,XML 将包含任何节点列表,我应该能够在其中指定节点名称并提取该名称的所有节点以创建列表。

最佳答案

您可以使用 HTML 解析器,如 Jsoup下载 jar 文件并将其添加到您的项目中。然后执行此操作。

Document document = Jsoup.parse(html);
Elements elements = document.select("catalog_item"); //get everything under catalog_item

for (Element element : elements) {
    String number = element.getElementsByTag("price").text(); // select specific tag
    // select rest of info from tags you need
}

关于java - 在 Java 中检索 XML 文件的节点列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35838582/

相关文章:

java - 在 Eclipse 中为 Play 框架设置 sbteclipse

java - 从 Coldfusion 中的 jar 运行 java 类 - NoClassDefFoundError

python - DBXML XQuery : move child to root of container

xml - 用另一个 Node 实例替换 XML Node

javascript - JavaScript 可以更改@page CSS 的值吗?

Javascript - 无尽的递归函数

html - z-index 和 DOM 层次结构是否需要相互对齐?

java - 单元测试中 SerialContext 中的 'java:comp/env' 的 Tomcat -Hudson- 查找失败

xml - 使用 BytesIO 和 Flask send_file

java - 组合框不会显示数据