我正在尝试解析大量包含大量嵌套元素的 XML 文件,以收集稍后使用的特定信息。由于文件数量巨大,我试图尽可能高效地完成此操作,以减少处理时间。我可以使用 xpath 提取所需的信息,如下所示,但似乎效率很低。特别是必须运行第二个 for 循环来使用另一个 xpath 搜索提取结果值。我可以使用更有效的方法来获得下面所需的输出吗?我可以通过单个 xpath 查询收集所需的信息吗?
所需的解析格式:
Id Object Type Result
Packages total totalPackages 1200
DeliveryMethod priority packagesSent 100
DeliveryMethod express packagesSent 200
DeliveryMethod ground packagesSent 300
DeliveryMethod priority packagesReceived 100
DeliveryMethod express packagesReceived 200
DeliveryMethod ground packagesReceived 300
XML 示例:
<?xml version="1.0" encoding="utf-8"?>
<Data>
<Location localDn="Chicago"/>
<Info Id="Packages">
<job jobId="1"/>
<Type pos="1">totalPackages</Type>
<Value Object="total">
<result pos="1">1200</result>
</Value>
</Info>
<Info Id="DeliveryMethod">
<job jobId="1"/>
<Type pos="1">packagesSent</Type>
<Type pos="2">packagesReceived</Type>
<Value Object="priority">
<result pos="1">100</result>
<result pos="2">100</result>
</Value>
<Value Object="express">
<result pos="1">200</result>
<result pos="2">200</result>
</Value>
<Value Object="ground">
<result pos="1">300</result>
<result pos="2">300</result>
</Value>
</Info>
</Data>
是否可以通过迭代来获取所有信息tree.xpath('//*')?
慕村225694
茅侃侃
相关分类