您可以使用以下代码使用阿里的 XmlUtils 工具删除 name 等于 TTTT 的上层 node StringParameterDefinition:

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.XML;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.alibaba.fastjson.util.TypeUtils;
import com.alibaba.fastjson.util.XmlUtils;

public class Main {
    public static void main(String[] args) {
        String 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>';

        JSONObject jsonObject = XML.toJSONObject(xml);
        JSONObject parameterDefinitions = jsonObject.getJSONObject('parameterDefinitions');

        // 删除name等于TTTT的上层node StringParameterDefinition
        parameterDefinitions.remove('hudson.model.StringParameterDefinition');

        // 转换回XML格式
        String updatedXml = XML.toString(jsonObject, 'parameterDefinitions');

        System.out.println(updatedXml);
    }
}

该代码将输出修改后的 XML:

<parameterDefinitions>
  <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>
使用阿里 XmlUtils 工具删除 XML 中的特定节点

原文地址: https://www.cveoy.top/t/topic/onWX 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录