有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

基于java中的第二个节点读取xml的第三个节点

如何读取xml的第三个节点,即基于使用java的第二个节点产品组的产品。我想根据产品代码获取产品

            <?xml version="1.0" encoding="UTF-8"?>
            <Restaurant>
                <ProductGroup id="1">
                    <label>BURGERS</label>
                    <image_url>burger.png</image_url>
                    <Product>
                        <label>Hamburger</label>
                        <productCode>aab</productCode>
                        <img_url>Hamburger.png</img_url>
                        <price>129.46</price>
                    </Product>
                    <Product>
                        <label>Cheeseburger</label>
                        <productCode>cch</productCode>
                        <img_url>Cheeseburger.png</img_url>
                        <price>129.46</price>
                    </Product>      
                </ProductGroup>
                <ProductGroup id="2">
                    <label>FRIES/ONION RING</label>
                    <image_url>friesonionring.png</image_url>
                    <Product>
                        <label>Fries</label>
                        <productCode>FRS</productCode>
                        <img_url>fries.png</img_url>
                        <price>50.46</price>
                    </Product>
                    <Product>
                        <label>Onion Rings</label>
                        <productCode>ONR</productCode>
                        <img_url>onionring.png</img_url>
                        <price>50.46</price>
                    </Product>      
                </ProductGroup>
            </Restaurant>

共 (1) 个答案

  1. # 1 楼答案

    有一种专门为这类任务设计的查询语言。它叫做XPath。您可以使用它从XML树中选择特定节点,方法是指定一个类似于您从操作系统或web地址中知道的路径。它还使您能够指定各种条件,这些条件决定了您选择的节点

    让我们看看几个例子。

    您可以使用类似这样的XPath查询从由其id属性值指定的组中选择所有产品代码:

    /Restaurant/ProductGroup[@id='2']/Product/productCode 
    

    要从特定组获取具有特定ID的产品,需要添加另一个条件。以下查询还要求Product元素具有名为productCode的子元素,其值为aab'

    /Restaurant/ProductGroup[@id='2']/Product[productCode='aab']
    

    也可以不指定文档的整个结构,只要求Product元素位于文档中的某个位置,而不一定位于餐厅的子产品组中

    //Product[productCode='cch']
    

    有很多关于XPath的教程可以帮助您理解这种简单的语言。它功能强大,易于理解,实现广泛,不需要代码冗长

    要在Java应用程序中使用它的功能,请查看XPath API:http://ibm.com/developerworks/library/x-javaxpathapi/index.html