使用阿里 XmlUtils 工具删除 XML 中的特定节点
您可以使用以下代码使用阿里的 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>
原文地址: https://www.cveoy.top/t/topic/onWX 著作权归作者所有。请勿转载和采集!