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

Groovy Script.xml解析

百里涛
2023-03-14

请帮助::我如何处理这些每一个。每一个或为每一个或什么?我有一个.xml我正试图用Groovy脚本解析。下面是.xml:

<Server port="8005" shutdown="SHUTDOWN">
  <Service name="Catalina">
    <Connector port="8080" URIEncoding="UTF-8" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"/>
    <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
         maxThreads="150" scheme="https" secure="true"
         keystoreFile="/something/q2_reports/server_QA1/keystorea.jks" keystorePass="password"
         clientAuth="false" sslProtocol="TLS" />
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>
  </Service>
</Server>

下面是我的Groovy脚本

def Server1 = new XmlParser().parse('c:\\temp\\server.xml')
Server1.Service.Connector.each {
    println "Stuff in Connector: ${it}"
}

结果如下:

Stuff in Connector: Connector[attributes={port=8080, URIEncoding=UTF-8, protocol=HTTP/1.1, connectionTimeout=20000, redirectPort=8443}; value=[]]

Stuff in Connector: Connector[attributes={port=8443, protocol=HTTP/1.1, SSLEnabled=true, maxThreads=150, scheme=https, secure=true, keystoreFile=/cwtapp/e2_reports/jasper_server_QA1/keystore.jks, keystorePass=password, clientAuth=false, sslProtocol=TLS}; value=[]]

Stuff in Connector: Connector[attributes={port=8009, protocol=AJP/1.3, redirectPort=8443}; value=[]]

我的问题是:我可以在的代码块中放入什么代码

Server1.Service.Connector.each {
    println "Stuff in Connector: ${it}"
}

为了单独打印每个项,如“port”和“protocol”等等,对于.xml块“connector”的每个实例?多谢了。

共有1个答案

涂煌
2023-03-14

像这样?

def Server1 = new XmlParser().parse('c:\\temp\\server.xml')
Server1.Service.Connector.each {
    println 'Attributes of Connector:'
    it.attributes().each { println it }
    println()
}
 类似资料:
  • 本文向大家介绍Java注解Annotation解析,包括了Java注解Annotation解析的使用技巧和注意事项,需要的朋友参考一下 概述        Java在1.5版本引入注解Annotation,又称Java标注,注解是一种语法元数据,可以被直接使用到源代码中,类/方法/变量/参数/包名等都可以被注解。和Javadoc标签不同,编译器在生成class文件时候能够保留注解代码,同时,可能为

  • 请问这个问题如何用mathematica求解析解呢? 微分方程: $$(\frac{\mathrm{d} }{\mathrm{d}\rho } +\frac{1}{\rho} \frac{\mathrm{d}}{\mathrm{d}\rho} )(\frac{\mathrm{d}^2 \omega}{\mathrm{d} \rho^2}+\frac{1}{\rho}\frac{\mathrm{d}

  • plugins/kibana/public/dashboard/index.js 结构跟 visualize 类似,设置两个调用 savedDashboards.get() 方法的 routes,提供一个叫 dashboard-app 的 directive。 savedDashboards 由 plugins/kibana/public/dashboard/services/saved_dash

  • index.js 中,首要当然是注册自己。此外,还加载两部分功能:plugins/kibana/visualize/editor/* 和 plugins/kibana/visualize/wizard/wizard.js。然后定义了一个 route,默认跳转 /visualize 到 /visualize/step/1。 editor editor.js 中也定义了两个 route,分别是 /vi

  • 前文已经说到,kibana.js 中依次加载了各主要功能模块的入口。比如搜索页是 src/core_plugins/kibana/public/discover/index.js。通过这个文件路径就可以猜到,有关搜索页的功能,代码应该都在 src/core_plugins/kibana/public/discover/ 里了。这个目录下的文件有: _hit_sort_fn.js component

  • Milo Yip 2016/11/15 本文是《从零开始的 JSON 库教程》的第六个单元解答篇。解答代码位于 json-tutorial/tutorial06_answer。 1. 重构 lept_parse_string() 这个「提取方法」重构练习很简单,只需要把原来调用 lept_set_string 的地方,改为写入参数变量。因此,原来的 lept_parse_string() 和 答案

  • Milo Yip 2016/10/13 本文是《从零开始的 JSON 库教程》的第五个单元解答篇。解答代码位于 json-tutorial/tutorial05_answer。 1. 编写 test_parse_array() 单元测试 这个练习纯粹为了熟习数组的访问 API。新增的第一个 JSON 只需平凡的检测。第二个 JSON 有特定模式,第 i 个子数组的长度为 i,每个子数组的第 j 个

  • Milo Yip 2016/9/20 本文是《从零开始的 JSON 库教程》的第二个单元解答篇。解答代码位于 json-tutorial/tutorial02_answer。 1. 重构合并 由于 true / false / null 的字符数量不一样,这个答案以 for 循环作比较,直至 ''。 static int lept_parse_literal(lept_context* c, le