我在下面有一个xml字符串,试图在标记域、接收时间、序列号和序列号之间为每个项打印文本。
xml="""
<response status="success" code="19"><result><msg><line>query job enqueued with jobid 19032</line></msg><job>19032</job></result></response>
19032
<response status="success"><result>
<job>
<tenq>14:10:09</tenq>
<tdeq>14:10:09</tdeq>
<tlast>19:00:00</tlast>
<status>ACT</status>
<id>19032</id>
<cached-logs>64</cached-logs>
</job>
<log>
<logs count="20" progress="29">
<entry logid="2473601">
<domain>1</domain>
<receive_time>2017/11/26 14:10:08</receive_time>
<serial>007901004140</serial>
<seqno>10156449120</seqno>
</entry>
<entry logid="2473601">
<domain>1</domain>
<receive_time>2017/11/26 14:10:08</receive_time>
<serial>007901004140</serial>
<seqno>10156449120</seqno>
</entry>
</logs>
</log>
</result></response>
"""
使用xml.etree.ElementTree。要获取domain标记之间的内容,我正在尝试node.attrib.get('domain')或node.get('domain')。请建议
import xml.etree.ElementTree as ET
tree = ET.fromstring(xml)
for node in tree.iter('entry'):
print node
它也可以是其他python库,不必是xml.etree。我不想盲目地在标签之间打印文本,我需要先打印标签名称,然后再打印文本,即:
domain: 1
receive_time: 2017/11/26 14:10:08
serial: 007901004140
seqno: 10156449120
etc
首先使用
find()
方法找到domain
标记。然后,tag
属性和text
属性应该获取您要查找的详细信息-希望这有帮助!
输出-
您可以使用SAX流来获取xml元素的内部文本内容。SAX是解析xml而不将整个xml读入内存(即DOMPython SAX)的更好方法
相关问题 更多 >
编程相关推荐