0

假设我有以下 XML

<InvoiceLines>
            <InvoiceLine>
                <InsertionDate>29.01.2015</InsertionDate>
                <Productnbr>0102</Productnbr>
            </InvoiceLine>
            <InvoiceLine>
                <InsertionDate>29.02.2015</InsertionDate>
                <Productnbr>0103</Productnbr>
            </InvoiceLine>
</InvoiceLines>

我想获得 Productnbr = 0103 的 InvoiceLine 的插入日期。如果我要编写 xpath,我会编写如下内容:

//InvoiceLine[./Productnbr='0103']/InsertionDate

但我想使用 GPath,因为我在我的代码中使用了 XMLSlurper。有没有办法将谓词应用于 GPath?谢谢

4

1 回答 1

0

您可以使用树搜索,find然后获取其子项的值:

def date = new XmlSlurper().parseText(xml)
                           .'**'
                           .find { it.Productnbr == '0103' }?.InsertionDate
于 2015-07-02T15:19:26.510 回答