当前位置 博文首页 > Python 解析XML文件

    Python 解析XML文件

    作者:admin 时间:2021-02-06 15:01

    Python文件:
    复制代码 代码如下:

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

    import xml.parsers.expat

    #控制打印缩进
    level = 0

    #获取某节点名称及属性值集合
    def start_element(name, attrs):
    global level
    print ' '*level, 'Start element:', name, attrs
    level = level + 1

    #获取某节点结束名称
    def end_element(name):
    global level
    level = level - 1
    print ' '*level, 'End element:', name

    #获取某节点中间的值
    def char_data(data):
    if(data == '\n'):
    return
    if(data.isspace()):
    return
    global level
    print ' '*level, 'Character data:', 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):
    复制代码 代码如下:

    <contacts >
    <item name="keen" fff="ddd">
    <telephone type="phone">222222222</telephone>
    <telephone type="mobile">134567890</telephone>
    </item>
    <item name="bcm">
    <telephone type="phone">11111111</telephone>
    <telephone type="mobile">15909878909</telephone>
    </item>
    </contacts>
    js