gpt4 book ai didi

python - 使用 python 脚本更新 XML

转载 作者:行者123 更新时间:2023-12-01 09:04:25 25 4
gpt4 key购买 nike

我们有一个很大的订单 XML,我们必须解析它。一些订单属性为 <custom-attribute attribute-id="attibute-id">some value</custom-attribute> 。我们正在通过 SSIS 解析此 XML,但在检索这些属性的值时遇到问题。我们注意到,如果我们添加一个值,它就会起作用 <custom-attribute attribute-id="attibute-id"><value>some value</value></custom-attribute>

那么,在使用 SSIS 解析 XML 之前,我们有什么办法添加 <value>全部标记<custom-attribute>使用 python 的元素如下所示:

当前 XML:

<custom-attributes>
<custom-attribute attribute-id="color">BLACK</custom-attribute>
<custom-attribute attribute-id="colorDesc">BLACK</custom-attribute>
</custom-attributes>

转换后的 XML:

<custom-attributes>
<custom-attribute attribute-id="color">
<value>BLACK</value>
</custom-attribute>
<custom-attribute attribute-id="colorDesc">
<value>BLACK</value>
</custom-attribute>
</custom-attributes>

谢谢

最佳答案

您可以解析 XML 并向 XML 添加子元素。假设您在名为“SomeData.xml”的文件中有 XML 数据:

<custom-attributes>
<custom-attribute attribute-id="color">BLACK</custom-attribute>
<custom-attribute attribute-id="colorDesc">BLACK</custom-attribute>
</custom-attributes>

您可以使用下一个 Python 脚本转换此文件:

import xml.etree.cElementTree as ET

XML = ET.parse('SomeData.xml').getroot()

for Atr in XML.findall('custom-attribute'): # Foreach 'custom-attribute' in root

Val = ET.SubElement(Atr, "value") # Create new XML SubElement named 'value'
Val.text = Atr.text # Write text from parent to child element
Atr.text = "" # Clear parent text

ET.ElementTree(XML).write("Output.xml")

生成所需的 XML 并将其保存为“Output.xml”:

<custom-attributes>
<custom-attribute attribute-id="color"><value>BLACK</value></custom-attribute>
<custom-attribute attribute-id="colorDesc"><value>BLACK</value></custom-attribute>
</custom-attributes>

希望对你有帮助!

关于python - 使用 python 脚本更新 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52187199/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com