Groovy使用XMLHolder迭代节点
发布时间:2020-12-14 16:23:13 所属栏目:大数据 来源:网络整理
导读:我想用 XML-Holder迭代 XML文件的节点. def reader = groovyUtils.getXmlHolder(test1 ); 假设XML看起来像如下: xml node val1/ val2/ /node1 node val1/ val2/ /node2/xml 我想读取不同节点的值. (val1,val2). 所以我试着这样: for( node in reader.getNo
我想用
XML-Holder迭代
XML文件的节点.
def reader = groovyUtils.getXmlHolder(test1 ); 假设XML看起来像如下: <xml> <node> <val1/> <val2/> </node1> <node> <val1/> <val2/> </node2> </xml> 我想读取不同节点的值. (val1,val2). for( node in reader.getNodeValues( "//ns1:node" )) {} 它真的遍历节点,但我不知道如何访问它们内部的值. 非常感谢你的帮助! 约翰 解决方法
您可能希望调用getDomNodes而不是getNodeValues.这将返回类
org.w3c.dom.Node 的标准Java DOM节点.从那里,您可以遍历从getFirstChild开始的子节点并使用getNextSibling进行迭代. Groovy的
DOMCategory增加了一些方便的辅助方法,使其更少痛苦.
例如: use (groovy.xml.dom.DOMCategory) { for( node in reader.getDomNodes( "//ns1:node" )) { node.children().each { child -> println child } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |