Groovy:导航一个空的xml

时间:2013-09-18 13:26:28

标签: xml groovy xmlslurper

从平面文件中读取xml并使用XmlSlurper解析它。以下是XML文件的外观

<ClientInformation>
<ContractClientVO>
 <AssignmentReasonCT></AssignmentReasonCT>
 <Associated></Associated>
 <AuthorizedSignatureCT></AuthorizedSignatureCT>
 <ClassCT></ClassCT>
 <RelationshipToInsuredCT></RelationshipToInsuredCT>
 <RelationshipToEmployeeCT></RelationshipToEmployeeCT>
 <ClientRoleVO>
  <AgentFK></AgentFK>
  <Associated></Associated>
  <RoleTypeCT></RoleTypeCT>
  <ClientDetailVO>
    <address></address>
    <city></city>
    <state></state>
    <Amount></Amount>
  </ClientDetailVO>
 </ClientRoleVO>
</ContractClientVO>
</ClientInformation>

XmlSlurper读得很好并打印XML文档。但它不会导航XML元素。

def xml = new XmlSlurper().parseText(file)
println XmlUtil.serialize(xml) //outputs fine on console
println xml.ClientInformation.size() //outputs 0

1 个答案:

答案 0 :(得分:1)

在您的示例中

(一旦您将xml修复为有效),变量xml代表文档ClientInformation的根节点

所以打电话:

xml.ClientInformation

什么都不返回(因为ClientInformation没有名为ClientInformation的孩子)

要获取根文档标记的子项数,您需要执行以下操作:

println xml.size()