【问题标题】:XMLStartlet is not updating salesforce package.xml fileXMLStartlet 未更新 salesforce package.xml 文件
【发布时间】:2020-05-26 07:50:31
【问题描述】:

我想创建 Salesforce Dynamic package.xml 文件。我遵循了 apexandbeyond.wordpress.com/2017/03/15/dynamic-package-xml-generation/ blog 中提到的过程,它既不更新也不在 xml 文件中插入数据。我正在尝试以下方式,但我不适合我。请帮助我。 下面的代码在循环中,我需要动态更新 xml 文件。在这里,我正在动态获取修改后的文件。

git diff-tree --no-commit-id --name-only --diff-filter=ACMRTUXB -t -r $PREVRSA $LCOMMIT | \ 同时读取-r CFILE;做 案例“$CFILE” 在 .cls) TYPENAME="ApexClass";; .component) TYPENAME="ApexComponent";; .page) TYPENAME="ApexPage";; *) TYPENAME="未知类型";;

    esac

    if [[ "$TYPENAME" != "UNKNOWN TYPE" ]]
    then
        echo $TYPENAME "," $ENTITY #example:(ApexClass,TestClass1
                                   #example: ApexClass,Testclass2 
                                   #example: ApexPage,TestPage) # getting values Dynamically

       xmlstarlet edit -L --subnode "/Package/types[name=$TYPENAME]" --type elem -n members -v 
         "$ENTITY" testpackage.xml > edipackage.xml


    fi

完成

echo 清理 Package.xml

xmlstarlet ed -L -i /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>TestClass1</members>
<members>TestClass2</members>
<name>ApexClass</name>
</types>
<types>
<members>TestPage</members>
<name>ApexPage</name>
</types>
<version>48.0</version>
</Package>

请帮助我。

【问题讨论】:

    标签: salesforce xmlstarlet


    【解决方案1】:

    命名空间应定义如下:

    xml sel -N x=http://soap.sforce.com/2006/04/metadata -t -m //x:name -v . -n salesforce.xml

    返回:

    ApexClass 
    ApexComponent 
    ApexPage
    

    【讨论】:

      猜你喜欢
      • 2020-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-11
      • 2015-07-02
      • 2013-10-06
      • 2014-09-04
      相关资源
      最近更新 更多