首页 > 解决方案 > 如何循环遍历 XML 行?

问题描述

我有一个像这样的xml结构:

<Resident Id="100">
    <Name>Sample Name</Name>
    <PhoneNumber>12345642357891</PhoneNumber>
    <EmailAddress>sample_name@example.com</EmailAddress>
    <Address>
        <StreetLine1>Street Line1</StreetLine1>
        <City>City Name</City>
        <StateCode>AE</StateCode>
        <PostalCode>12345</PostalCode>
    </Address>
</Resident>

我想遍历每一行,而我可以执行以下操作(片段)

for element in root:
    listOfAttribAndValues = []
    listOfAttribAndValues.append(int(element.get("Id")))
    listOfAttribAndValues.append(element.find('Name').text)
    #and so on and then write them to a list, and then write the list to a csv file
    writer.writerow(listOfAttribAndValues)

有没有一种简单的方法可以遍历每一行(Name,PhoneNumber等),而不是明确地找出每个项目的值?

标签: pythonxmlloopstags

解决方案


你的解决方案是正确的。正如评论中提到的,没有 XML“行”的概念。XML 是一棵树。这些项目与其父元素和子元素相关联,但彼此不相关。事实上,树中相同深度的元素之间没有特定的顺序可以保证或预期。

这里的答案可能有助于改进您的代码: https ://stackoverflow.com/a/31844901/2713818


推荐阅读