使用Python修改XML文件中的属性

时间:2018-01-11 11:54:12

标签: python xml

我非常非常陌生,所以请善待!

我已经用XML创建了一个测试文件,其中包含假客户及其相关电话号码的列表。这是人工制作的,花了很长时间!我希望用Python创建一个自动化解决方案来替换customer_ID的第一个数字(作为XML中的属性存储)并生成一个新的XML。

几个小时后阅读和开发这里是我的代码;

# Python code for test data generation

import re
import xml.etree.ElementTree as ET
tree = ET.parse('Junk\\Test_File.xml')

root = tree.getroot()

for child in tree.iter():
Cust_ID = re.findall('([0-9]{10})', child.text)
A = [Cust_ID.replace(Cust_ID[0],'1') for Cust_ID in Cust_IDs]

print(A)

tree.write('Junk\\New.xml')

到目前为止,我可以将客户ID列表隔离为Cust_ID,并根据需要替换第一个数字。我的问题是在输出中写下这些新值。

考虑到我对这段代码的初级程度,我并不是100%我在正确的道路上,所以任何指向更完整解决方案的指针(如果有的话)也会受到赞赏。

非常感谢

1 个答案:

答案 0 :(得分:0)

现在大多数人都使用您有多种选择的图书馆。

2我已经

  1. LXML
  2. CElementTree

    import xml.etree.cElementTree as ET
    
    root = ET.Element("root")
    file = ET.SubElement(root, "file")
    
    ET.SubElement(file, "fieldone", name="1").text = "something1"
    ET.SubElement(file, "field2two", name="2").text = "something2"
    
    tree = ET.ElementTree(root)
    tree.write("file.xml")
    

    以下是一些有用的文档链接

  3. http://lxml.de/tutorial.html

    http://effbot.org/zone/element-index.htm

    https://docs.python.org/3/library/xml.etree.elementtree.html

    请注意xml.etree.ElementTree不安全