Groovy XML取值求助:提取指定属性并生成目标XML格式
解决Groovy提取XML属性并生成目标XML的方案
Groovy处理XML便捷高效,以下是针对你需求的具体实现方案:
// 输入的XML内容 def inputXml = ''' <data> <object bo="45345345" name="name_of_something" uniqueid="name_some"> <property name="Id" propid="423423423">"something"</property> </object> </data> ''' // 用XmlSlurper解析XML(Groovy内置工具,无需额外依赖) def xmlSlurper = new XmlSlurper() def parsedXml = xmlSlurper.parseText(inputXml) // 提取object节点的name属性值 def targetName = parsedXml.object.@name.text() // 构造目标格式的XML内容 def outputXml = "<Name>Name=\"${targetName}\"</Name>" // 输出结果 println(outputXml)
代码说明
- XmlSlurper:Groovy原生的轻量级XML解析器,直接解析字符串或文件中的XML内容,上手简单。
- 属性提取:通过
parsedXml.object.@name.text()精准定位object节点的name属性,text()方法获取属性的具体值。 - 字符串插值:用
${targetName}将提取到的属性值插入目标XML模板,注意用\"转义双引号,保证XML格式合法。
运行代码后会输出你需要的结果:
<Name>Name="name_of_something"</Name>
如果你的XML来自本地文件,只需把inputXml替换为文件读取逻辑:
def inputXml = new File("你的XML文件路径").text
内容的提问来源于stack exchange,提问作者Johny124
相关产品推荐
相关产品推荐

