XMLStartlet未更新package.xml文件

问题描述 投票:0回答:1

我想创建Salesforce Dynamic package.xml文件。我遵循了这个(apexandbeyond.wordpress.com/2017/03/15/dynamic-package-xml-generation/)博客中提到的过程,这既没有更新也没有在xml文件中插入dat。我正在尝试以下方法,但我不为我工作。请帮助我。

xmlstarlet edit -L --subnode "/Package/types[name='ApexClass']" --type elem -n members -v "LoginBroker" testpackage.xml > edipackage.xml

xmlstarlet edit --insert /Package -t attr -n xmlns -v "http://soap.sforce.com/2006/04/metadata" testpackage.xml > edipackage.xml

原始文件:testpackage.xml

<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>ApexClass</name>
</types>
<types>
<members>*</members>
<name>ApexComponent</name>
</types>
<types>
<members>*</members>
<name>ApexPage</name>
</types>
<version>48.0</version>
</Package>

预期结果:

<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>LoginBroker</members>
<name>ApexClass</name>
</types>
<types>
<version>48.0</version>
</Package>
xml-namespaces xmlstarlet
1个回答
0
投票

如果我理解正确,您正在寻找类似这样的内容:

xmlstarlet edit  -N x="http://soap.sforce.com/2006/04/metadata"\
   -u "//x:Package//x:types[x:name[1][text()='ApexClass']]/x:members" \
   -v 'LoginBroker' \
   testpackage.xml > edipackage.xml
© www.soinside.com 2019 - 2024. All rights reserved.