【发布时间】:2015-10-29 22:40:25
【问题描述】:
我有一个这样的 XML 文件:
<CustomerOrders>
<Customers>
<CustomerID>ALFKI</CustomerID>
<Orders>
<OrderID>10643</OrderID>
<CustomerID>ALFKI</CustomerID>
<OrderDate>1997-08-25</OrderDate>
</Orders>
<Orders>
<OrderID>10692</OrderID>
<CustomerID>ALFKI</CustomerID>
<OrderDate>1997-10-03</OrderDate>
</Orders>
<CompanyName>Alfreds Futterkiste</CompanyName>
</Customers>
<Customers>
<CustomerID>ANATR</CustomerID>
<Orders>
<OrderID>10308</OrderID>
<CustomerID>ANATR</CustomerID>
<OrderDate>1996-09-18</OrderDate>
</Orders>
<CompanyName>Ana Trujillo Emparedados y helados</CompanyName>
</Customers>
</CustomerOrders>
我想提取每个元素以转换为小写。我知道我可以递归地遍历所有节点和子节点,但我正在努力输出实际元素。
现在在我的代码中,我只是打印所有标签及其属性,也可以手动打印元素
import xml.etree.ElementTree as ET
tree = ET.parse('customer.xml')
root = tree.getroot()
for descendant in root.findall(".//*"):
print descendant.tag, descendant.attrib
print root[0][1][0].text #prints 10643
我想要的是能够打印出文件的每个元素,并将它们全部转换为小写。
预期输出:
CustomerID = alfki
OrderID = 10643
CustomerID = alfki
OrderDate = 1997-08025
OrderID = 10692
CustomerID = alfki
OrderDate = 1997-10-03
CompanyName = alfreds futterkiste
等等
【问题讨论】:
-
欢迎来到 StackOverflow。请阅读并遵循帮助文档中的发布指南。 MCVE 适用于此。 “我在挣扎”并没有描述问题;请编辑您的帖子以包含实际输出和您的预期。
-
试一试并反馈。