码迷,mamicode.com
首页 > 编程语言 > 详细

python处理xml文件

时间:2016-12-21 15:57:58      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:blog   work   dal   tag   第一个   workspace   节点   元素   color   

参考:https://docs.python.org/2/library/xml.etree.elementtree.html

例子:

<?xml version="1.0"?>
<data>
    <country name="Liechtenstein">
        <rank>1</rank>
        <year>2008</year>
        <gdppc>141100</gdppc>
        <neighbor name="Austria" direction="E"/>
        <neighbor name="Switzerland" direction="W"/>
    </country>
    <country name="Singapore">
        <rank>4</rank>
        <year>2011</year>
        <gdppc>59900</gdppc>
        <neighbor name="Malaysia" direction="N"/>
    </country>
    <country name="Panama">
        <rank>68</rank>
        <year>2011</year>
        <gdppc>13600</gdppc>
        <neighbor name="Costa Rica" direction="W"/>
        <neighbor name="Colombia" direction="E"/>
    </country>
</data>

1、解析xml文件

>>> os.getcwd()
D:\\workspace\\testpython
>>> import xml.etree.ElementTree as ET
>>> tree = ET.parse(test.xml)
>>> root = tree.getroot()
>>> print root
<Element data at 0x1d2a8b0>
>>> print tree
<xml.etree.ElementTree.ElementTree object at 0x01D2A9D0>
>>> root.tag
data
>>> root.attrib
{}
>>> #遍历子节点
>>> for child in root:
    print child.tag,child.attrib

    
country {name: Liechtenstein}
country {name: Singapore}
country {name: Panama}
>>> root[0].text
\n        
>>> root[0][1].text
2008
>>> root[1][3].text
>>> root[1][2].text
59900

2、查找元素

>>> #查询元素
>>> for neighbor in root.iter(neighbor):
    print neighbor.attrib

    
{direction: E, name: Austria}
{direction: W, name: Switzerland}
{direction: N, name: Malaysia}
{direction: W, name: Costa Rica}
{direction: E, name: Colombia}
>>> root.iter(neighbor)
<generator object iter at 0x01D3CF30>
>>> root.findall(country)
[<Element country at 0x1d2aa90>, <Element country at 0x1d2ad30>, <Element country at 0x1d2af10>]
>>> for country in root.findall(country): #element.findall()查询当前元素的子元素
    rank=country.find(rank).text  #element.find()查询指定标签的第一个子元素,element.text获取元素的内容
    name=country.get(name)  #element.get()获取元素的属性值
    print name,rank

    
Liechtenstein 1
Singapore 4
Panama 68

3、修改xml文件

 

python处理xml文件

标签:blog   work   dal   tag   第一个   workspace   节点   元素   color   

原文地址:http://www.cnblogs.com/apple2016/p/6207962.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!