【发布时间】:2018-10-11 05:07:57
【问题描述】:
希望合并以下 XML。我想在 Python 中这样做,但无论如何这不是必需的。
文件 1:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Class 1</members>
<members>Class 2</members>
<name>ApexClass</name>
</types>
<types>
<members>Trigger 1</members>
<name>ApexTrigger</name>
</types>
<types>
<members>Rule 1</members>
<members>Rule 2</members>
<name>WorkflowRule</name>
</types>
<types>
<members>Address</members>
<name>CustomField</name>
</types>
<version>39.0</version>
</Package>
文件 2:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Class 3</members>
<name>ApexClass</name>
</types>
<types>
<members>Rule 2</members>
<name>WorkflowRule</name>
</types>
<types>
<members>Phone</members>
<name>CustomField</name>
</types>
<version>41.0</version>
</Package>
合并文件1和文件2,在下面创建文件3:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Class 1</members>
<members>Class 2</members>
<members>Class 3</members>
<name>ApexClass</name>
</types>
<types>
<members>Trigger 1</members>
<name>ApexTrigger</name>
</types>
<types>
<members>Rule 1</members>
<members>Rule 2</members>
<name>WorkflowRule</name>
</types>
<types>
<members>Address</members>
<members>Phone</members>
<name>CustomField</name>
</types>
<version>41.0</version>
</Package>
请注意,标识节点可以是 50 多个不同的值之一。
提前感谢您的帮助。
编辑:哎呀,投反对票很痛。为了澄清和证明这个问题,我应该指出我什至很难从哪里开始解决这个问题,因为对 SO 的广泛搜索没有产生任何线索,问题的重点是获得关于从哪里开始的建议.
【问题讨论】:
-
是的,您可以这样做。在 python 3.6 中,至少 xml 处理程序可以将整个文件读入一个不错的对象并复制到数组中,然后你可以很容易地组合数组。
-
@mpaler,请忽略这个问题的近距离投票和反对票。这个问题绝对没有错,投反对票的人有严重问题。当然,密切的原因(“太宽泛”)是无稽之谈。有人可能会批评这个问题,因为你没有展示你已经尝试过的东西,但在我看来,如果你不知道从哪里开始,问采取什么方法是完全合理的。
-
@MichaelKay 谢谢。我认为即使没有显示尝试将是针对 - 但是,你是对的,我什至不知道从哪里开始。也许我应该在问题中澄清这一点......
标签: python xml xslt merge salesforce