如何在groovy中获取xml标记名称

时间:2013-09-11 11:47:04

标签: xml groovy

任何人都可以帮助我如何在我的脚本中获取标签名称。在下面的代码我需要得到mbrSqncNum?帮助我...

<Id>059A670</healthCardId> 
<subscriberId>059A625</subscriberId> 
<mbrSqncNum>10</mbrSqncNum> 

1 个答案:

答案 0 :(得分:3)

假设你有有效的XML(与你的问题不同,那里没有根节点和不匹配的标签),并假设它存储在一个String变量中:

def xml = '''<doc>
            |    <healthCardId>059A670</healthCardId> 
            |    <subscriberId>059A625</subscriberId> 
            |    <mbrSqncNum>10</mbrSqncNum> 
            |</doc>'''.stripMargin()

然后,您可以使用以下方法解析此XML:

def doc = new XmlParser().parseText( xml )

(如果它在文件中,您可以使用它)

def doc = new XmlParser().parse( xmlFile )

现在还不清楚你的问题究竟是什么样的......要打印出所有的标签名称,你可以这样做:

// prints '[doc, healthCardId, subscriberId, mbrSqncNum]'
println doc.'**'*.name()

(更长的形式也是如此)

// prints '[doc, healthCardId, subscriberId, mbrSqncNum]'
println doc.breadthFirst()*.name()

或者要获取代码mbrSqncNum的值,您可以执行以下操作:

// prints '10'
println doc.mbrSqncNum.text()

或者你的意思是其他什么?