use*_*620 5 python xml elementtree
如果我使用了错误的术语,请原谅,但这就是我想要实现的目标。我正在尝试从嵌套标签中提取属性和文本信息,例如别名,付款,金额等。但是我的示例代码块只能从中的子元素中提取信息,而不能从中的子元素中提取信息。
如何使用elementtree尝试获取子元素的子元素?一次,如果我使用不当,请原谅我的术语:**
**
<root>
<host name="comp1">
<alias>smith_laptop</alias>
<ipAddr>102.168.1.1</ipAddr>
<owner>Mr_Smith</owner>
<payment type="credit">
<card type="Master Card"/>
<amount>125.99</amount>
<cardOwner name="John Smith"/>
<expiration date="Oct 24"/>
</payment>
</host>
<host name="comp2">
<alias>matt_laptop</alias>
<ipAddr>102.168.1.2</ipAddr>
<owner>Mr_Mat</owner>
<payment type="cash">
<amount>100.00</amount>
</payment>
</host>
</root>
Run Code Online (Sandbox Code Playgroud)
**
**
import os
from xml.etree import ElementTree as ET
def main():
rootElement = ET.parse("text.xml").getroot()
for subelement in rootElement:
print "Tag: ",subelement.tag
print "Text: ",subelement.text
print "Aribute:",subelement.attrib,"\n"
print "Items:",subelement.items(),"\n"
if __name__ == "__main__":
main()
Run Code Online (Sandbox Code Playgroud)
subelement.getchildren()
Run Code Online (Sandbox Code Playgroud)
或者
for subelement in rootElement:
...
for subsub in subelement:
print subsub.tag
Run Code Online (Sandbox Code Playgroud)