【发布时间】:2016-09-19 15:19:02
【问题描述】:
我是 Python 新手,听说它是解析相当大的 XML 文件 (150MB) 的最佳方法之一。我不知道如何遍历标签并仅提取 <hw> 和 <defunit> 标签,因为它嵌套得很深。
我有一些 XML 格式如下,我需要使用 Python 从中提取“hw”和“defunit”标签并将它们转换为 .csv 格式。
<?xml version="1.0" encoding="UTF-8"?>
<dps-data xmlns="urn:DPS2-metadata" project="SCRABBLELARGE" guid="7d6b7164fde1e064:34368a61:14306b637ab:-8000--4a25ae5c-c104-4c7a-bba5-b434dd4d9314">
<superentry xmlns="urn:COLL" xmlns:d="urn:COLL" xmlns:e="urn:IDMEE" e:id="u583c10bfdbd326ba.31865a51.12110e76de1.-336">
<entry publevel="1" id="a000001" e:id="u583c10bfdbd326ba.31865a51.12110e76de1.-335">
<hwblk>
<hwgrp>
<hwunit>
<hw>aa</hw>
<ulsrc>edsh</ulsrc>
</hwunit>
</hwgrp>
</hwblk>
<datablk>
<gramcat publevel="1" id="a000001.001">
<pospgrp>
<pospunit>
<posp value="noun" />
</pospunit>
</pospgrp>
<sensecat id="a000001.001.01" publevel="1">
<defgrp>
<defunit>
<def>volcanic rock</def>
</defunit>
</defgrp>
</sensecat>
</gramcat>
</datablk>
</entry>
</superentry>
</dps-data>
我希望看到的 .csv 格式很简单:
hw, defunit
aa, volcanic rock
【问题讨论】:
-
什么是重复元素:
<superentry>,<entry>?通常最好发布前几个重复的 XML 项,以便我们了解树。 -
@Parfait 抱歉,我只被允许这么多代码。
和 是两个重复的元素,是的!