在groovy中,Xpath函数不适用于xml
我有以下XML:在groovy中,Xpath函数不适用于xml,groovy,Groovy,我有以下XML: <orders> <order xmlns:amz="http://www.amazon.co"> <amz:comp>amz</amz:comp> </order> <order xmlns:ebay="http://www.ebay.co"> <ebay:comp>ebay</ebay:comp> </orde
<orders>
<order xmlns:amz="http://www.amazon.co">
<amz:comp>amz</amz:comp>
</order>
<order xmlns:ebay="http://www.ebay.co">
<ebay:comp>ebay</ebay:comp>
</order>
</orders>
阿姆兹
易趣网
我检查了xpath表达式,如//orders/order,但在groovy中它不起作用,我不知道哪里出了问题
以下是我正在使用的代码:
导入groovy.xml.*
def source = '''<orders>
<order xmlns:amz="http://www.amazon.co">
<amz:comp>amz</amz:comp>
</order>
<order xmlns:ebay="http://www.ebay.co">
<ebay:comp>ebay</ebay:comp>
</order>
</orders>'''
def root = new XmlSlurper().parseText(source).declareNamespace([
amz: "http://www.amazon.co",
ebay: "http://www.ebay.co"
])
println root.orders
println root.orders.order."amz:comp"
def source=''
阿姆兹
易趣网
'''
def root=new XmlSlurper().parseText(源).declareNamespace([
amz:“http://www.amazon.co",
易趣:http://www.ebay.co"
])
println root.orders
println root.orders.order.“amz:comp”
我没有得到上述代码的任何输出。在您的示例中,
root
变量引用
元素,因此当您调用root.orders
时,就像您在寻找
<orders>
<orders>...</orders>
</orders>
要获得以下输出:
amzebay
amz
amzebay
amz