首页 > 解决方案 > 使用 xmlstarlet 从 xml 文件中删除节点

问题描述

我有xml文件:

<CustomField xmlns="http://soap.sforce.com/2006/04/metadata">
  <valueSet>
    <controllingField>Field__c</controllingField>
    <valueSetDefinition>
      <sorted>false</sorted>
      <value>
        <fullName>field 1</fullName>
        <default>false</default>
        <label>field 1</label>
      </value>
      <value>
        <fullName>field 2</fullName>
        <default>false</default>
        <label>field 2</label>
      </value>
    </valueSetDefinition>
  </valueSet>
</CustomField>

我使用以下命令删除具有字段 2 值的节点:

xmlstarlet ed --inplace -N x="http://soap.sforce.com/2006/04/metadata" -d "//x:valueSet/x:valueSetDefinition/x:value[x:fullName='field 2']" 

但它没有被删除。知道如何删除它吗?

标签: xmlxmlstarlet

解决方案


推荐阅读