我的input.xml
<z1:BookNames name="Groovy" dataType="INTEGER" xmlns:z0="messages" xmlns:z2="base" xmlns:z3="number" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:z1="bookcat">
<z3:BookCost>
<z3:IntegerValue>1106</z3:IntegerValue>
</z3:BookCost>
</z1:BookNames>
我的代码 -
document = parse(new FileReader('input.xml'))
rootElement = document.documentElement
println rootElement
use(groovy.xml.dom.DOMCategory)
{
println rootElement.'@dataType'
cf = rootElement.'z3:BookCost'
}
到目前为止,我正在尝试获取图书费用但不成功。你能在这里提出想法吗?我不能将前缀z3声明为'z3:BookCost'z3可以是输入xml中的任何内容。但是命名空间值可以在代码中进行硬编码。
答案 0 :(得分:2)
以下是使用XmlSlurper的方法:
new File( 'input.xml' ).withReader { x ->
new XmlSlurper().parse( x ).with { root ->
println root.@dataType
println root.BookCost.IntegerValue
}
}
DOMCategory isn't namespace aware(afaik)