1

タグ名が同じで値が異なる要素がいくつかあります。以下の例は、私の解析を示しています。

<Report>
<ReportHost name= 2.3.3.3><HostProperties>
<tag name="x"> Monday...</tag>
<tag name="z"> Linux.....</tag>

私の問題は、文字列「x」と「z」の後のテキストをどのようにキャプチャするかです。

langs.Report.ReportHost.each{ReportHost->
${ReportHost.HostProperties.tag['@name']}"

しかし、これは x と z を取得しているだけです。月曜日と Linux を含む、その後のテキストを取得するために必要な構文は何ですか。

4

1 に答える 1

2

これにより、タグ属性リストが出力され、次にノード コンテンツ リストが出力されます。

langs.ReportHost.each { reportHost ->
  println "tag  = ${reportHost.HostProperties.tag['@name']}"
  println "cont = ${reportHost.HostProperties.tag*.text()}"
}

それぞれをツリーのさらに下に移動すると、それらを1行で簡単に印刷できます

langs.ReportHost.HostProperties.tag.each { tag ->
  println "tag=${tag.@name} content=${tag.text()}"
}
于 2012-07-18T12:51:01.667 に答える