我正在尝试编写一个Python脚本,它将遍历行并将它们放入我的数据库中
这是我的xml的结构:
Root>
-<SvcNf>
-<PersonNf>
-<PersonList>
-<Row>
<SysName>MI8</SysName>
<ServerDt>2016-10-28 03:00:12 +03:00</ServerDt>
<UID>9457A55E17341AA7ASDEDS057A8BFFF3</UID>
<PersID>007</PersID>
<Emp_name>James Bond</Emp_name>
<EventID>25</EventID>
<EventTXT>Drinking alcohol</EventTXT>
<CauseEventID>03</CauseEventID>
<CauseEventTXT>Martini with vodka</CauseEventTXT>
<EventBegda>2017-10-18</EventBegda>
<EventEndda>2017-10-18</EventEndda>
<AccrualsSum>171.0</AccrualsSum>
<AccrualsProz>0.0</AccrualsProz>
<AccrualsName>Chinees_</AccrualsName>
<OrderNum>P-336</OrderNum>
<Perg>0</Persg>
<Perk>15</Persk>
<Awart/>
</Row>
-<Row>
.....
</Row>
<Row/>
</PersonList>
</PersonNf>
</SvcNf>
</Root>
因此,当我使用以下代码解析XML时:
import xml.etree.ElementTree as ET
root = ET.parse(events).getroot()
nodes = root.findall("Row")
for node in nodes:
print(node.text)
结果为空
非常感谢!你知道吗
编辑
标称行值为
['MI8','2016-10-28 03:00:12+03:00','9457A55E17341AA7ASDEDS057A8BFF3'等]
您的XML无效:
尝试修复XML:
用
[child.text for child in node]
替换node.text
。最后,只需使用join
函数将列表转换为字符串。你知道吗https://repl.it/N144/1
在XML已清理和XML选择器的情况下,您将获得所需的内容:
相关问题 更多 >
编程相关推荐