parameterDefinitions hudsonmodelStringParameterDefinition nameS1name description111description defaultValue111defaultValue trimtruetrim hudsonmodelStr
您可以使用以下代码使用阿里的 XmlUtils 工具来删除name等于TTTT的上层node StringParameterDefinition:
import com.alibaba.fastjson.JSONObject as JSONObject
import com.alibaba.fastjson.JSONArray as JSONArray
import com.alibaba.fastjson.xml.XML as XML
def xml = """
<parameterDefinitions>
<hudson.model.StringParameterDefinition>
<name>S1</name>
<description>111</description>
<defaultValue>111</defaultValue>
<trim>true</trim>
</hudson.model.StringParameterDefinition>
<hudson.model.TextParameterDefinition>
<name>TTTT</name>
<description>TTT</description>
<defaultValue>TTT</defaultValue>
<trim>false</trim>
</hudson.model.TextParameterDefinition>
<com.cloudbees.plugins.credentials.CredentialsParameterDefinition plugin="credentials@1143.vb_e8b_b_ceee347">
<name>TTTTAAAA</name>
<defaultValue>AAAFF</defaultValue>
<credentialType>com.cloudbees.plugins.credentials.common.StandardCredentials</credentialType>
<required>false</required>
</com.cloudbees.plugins.credentials.CredentialsParameterDefinition>
</parameterDefinitions>
"""
def json = XML.toJSONObject(xml)
def parameterDefinitions = json['parameterDefinitions']
if (parameterDefinitions instanceof JSONObject) {
parameterDefinitions = [parameterDefinitions]
}
parameterDefinitions.eachWithIndex { node, index ->
if (node['name'] == 'TTTT') {
parameterDefinitions.remove(index)
return
}
}
def updatedXml = XML.toString(json)
println(updatedXml)
此代码将删除name等于TTTT的上层node StringParameterDefinition,并打印更新后的XML。
原文地址: https://www.cveoy.top/t/topic/i1Z0 著作权归作者所有。请勿转载和采集!