zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Python解析XML文件

2023-06-13 09:14:09 时间
Python文件:
复制代码代码如下:

#parsexml.py
#本例子参考自python联机文档,做了适当改动和添加

importxml.parsers.expat

#控制打印缩进
level=0

#获取某节点名称及属性值集合
defstart_element(name,attrs):
globallevel
print""*level,"Startelement:",name,attrs
level=level+1

#获取某节点结束名称
defend_element(name):
globallevel
level=level-1
print""*level,"Endelement:",name

#获取某节点中间的值
defchar_data(data):
if(data=="\n"):
return
if(data.isspace()):
return
globallevel
print""*level,"Characterdata:",data

p=xml.parsers.expat.ParserCreate()

p.StartElementHandler=start_element
p.EndElementHandler=end_element
p.CharacterDataHandler=char_data
p.returns_unicode=False

f=file("sample.xml")
p.ParseFile(f)
f.close()

XML文件(sample.xml):
复制代码代码如下:

<contactsid="bluecrystal">
<itemname="keen"fff="ddd">
<telephonetype="phone">222222222</telephone>
<telephonetype="mobile">134567890</telephone>
</item>
<itemname="bcm">
<telephonetype="phone">11111111</telephone>
<telephonetype="mobile">15909878909</telephone>
</item>
</contacts>