如果我使用了错误的术语,请原谅我,但这就是我想要完成的事情。我试图从嵌套标签中提取属性和文本信息,例如别名,付款,金额等等......但是我的示例代码块只能从中提取信息,而不是来自子元素中的任何内容。
如何使用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>
**
**
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()
答案 0 :(得分:4)
subelement.getchildren()
或
for subelement in rootElement:
...
for subsub in subelement:
print subsub.tag