[英]parsing large xml file with python
xml文件示例:
<header>
<name>name</name>
<items>
<item>
<title>title</title>
<add>add</add>
</item>
<item>
<title>title</title>
<add>add</add>
</item>
</items>
</header>
我想将信息解析成按每个标题和子组项目分解的组:
xml也解析:
name
----title
----add
----title
----add
next header
name
----tile
----add
----etc
----etc
如果有人可以发布示例,最好使用elem tree iterparse它的大型xml文件...
我不起作用的例子是...
import xml.etree.cElementTree as etree
infile = open("c:/1.xml", 'r')
context = etree.iterparse(infile, events=("start", "end"))
for event, element in context:
if event == "end":
if element.tag == "header":
print element.findtext('name')
elif element.tag == "item":
print element.findtext('title')
print element.findtext('add')
因此,非常简单,使用您提供的文件:
import xml.etree.cElementTree as etree
for event, element in etree.iterparse("C:/1.xml"):
if element.tag == "name":
print element.text
elif element.tag in ["title", "add"]:
print "---" + element.text
这给出了输出:
name
----title
----add
----title
----add
我想如果您想在标头之间使用一个空格,您将:
if element.tag == "header":
print "\n"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.