当前位置: 首页 > 知识库问答 >
问题:

使用Groovy XMLParser访问XML节点内容

卢光誉
2023-03-14

我有一些元素具有相同的标记名,但相等的不同值。下面的示例显示了我的解析。

<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。我需要什么语法来抓取之后的文本,其中包括Monday和Linux。

共有1个答案

司徒鸿文
2023-03-14

这将打印出标记属性列表,然后打印出节点内容列表:

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

如果你把每一个都往下走,那么你就可以很容易地把它们打印在一行上

langs.ReportHost.HostProperties.tag.each { tag ->
  println "tag=${tag.@name} content=${tag.text()}"
}
 类似资料:
  • 问题内容: 我正在使用Jenkins Build Flow插件来实现并行化。Groovy DSL执行某些文件操作。即使该选项设置为在特定从属服务器上运行作业,但DSL仍在主服务器上运行。这不是故意的。 有人可以告诉我如何限制DSL在指定的从站上运行吗?即使有一种方法可以通过DSL访问从文件系统,也应该可以。 通常,我们如何使用Groovy从Jenkins主节点访问节点从节点上的文件? 工作空间位于

  • 我有一个下拉列表,其中选项的值是,,等。最后一个是父节点的属性,比如是节点的属性 你知道如何以这种方式获得价值吗。 谢谢

  • 问题内容: 我有一个XML文件test.xml 我正在尝试在表单提交中使用PHP更新节点xName和yName。因此,我已经使用simplexml_load_file()加载了文件。PHP表单操作代码如下 我想更新节点值,但是上面的代码似乎不正确。谁能帮助我纠正它? 更新:我的问题有点类似于使用PHP更新XML文件,但是在这里,我要从外部文件加载XML,同时还要更新元素而不是属性。那就是我的困惑所

  • JAVASCRIPT文件 HTML文件 每当我试图执行上面的代码时,它会给我一个类似这样的错误 谁能告诉我怎样才能做到不出错。

  • 我是XSLT新手。我想根据其他子节点的条件更改XML中的根节点。但子节点始终保持不变。例如,我有以下XML: 我喜欢将XML更改为: 这意味着依赖于<代码> 我不想在每个<代码>

  • 在本章中,我们将学习XML DOM节点。 每个XML DOM都包含称为节点的分层单元信息,DOM描述了这些节点以及它们之间的关系。 节点类型 以下图显示了所有节点类型 - XML中最常见的节点类型是 - 文档节点(Document Node) - 完整的XML文档结构是文档节点。 元素节点(Element Node) - 每个XML元素都是一个元素节点,它也是唯一可以拥有属性的节点类型。 属性节点