python xml.etree.ElementTree,python解析xml文件ElementTree

  python xml.etree.ElementTree,python解析xml文件ElementTree

  这篇文章主要为大家介绍了大蟒标准库元素树处理可扩展标记语言的方法示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  

目录
1.示例用法元素对象具有如下属性和操作遇到非法格式的xmlExpatError:未找到元素国外错误:不匹配的tagexparterror :格式不正确(无效标记)

  

1. 示例用法

  参照官方文档,创建country_data.xml测试文档,内容如下:

  ?可扩展标记语言版本=1.0 ?

  数据

  国家名称=列支敦士登

  等级1/等级

  2008年/年

  gdppc141100/gdppc

  邻居名称=奥地利方向=E/

  邻居名称=瑞士方向=W/

  /国家

  国家名称=新加坡

  等级4/等级

  2011年/年

  gdppc59900/gdppc

  邻居名称=马来西亚方向=N/

  /国家

  国名=巴拿马

  排名68/等级

  2011年/年

  gdppc13600/gdppc

  邻居名称=哥斯达黎加方向=W/

  邻居名称=哥伦比亚方向=E/

  /国家

  /数据

  使用如下代码,将数据读出,打印

  来自xml.etree.ElementTree

  数据=元素树.元素树(file= country _ data。XML’)

  国家列表=数据。查找全部(国家)#找到所有名为国家的标签,返回一个元素对象列表。

  对于国家列表:中的国家

  name=country.attrib.get(name ,)

  打印姓名, ,

  对于国家:中的项目

  if item.tag==neighbor:

  name=item.attrib.get(name ,)

  方向=项目。属性。get(方向,)

  打印"{0} ({1})"。格式(名称,方向),"",

  else:

  打印item.text, ,

  打印

  其中

  数据=元素树.元素树(file= country _ data。XML’)

  获得一个元素树对象,也可以使用

  tree=元素树。parse( country _ data。XML’)

  

Element对象具有如下属性和操作

  elem。标签这个元素对象的名字(标签)elem.text文档内容elem。属性属性值字典元素。尾巴与属性一起存储的其他数据元素,元素返回初步的的第n个子元素

  元素[n]=新元素将初步的的第n个子元素更改为不同的元素新元素

  元素[n]删除子元素

  伦(elem)子元素的数量

  elem.find(路径)

  elem.getchildren()按文档顺序返回所有子元素

  elem.items()将所有元素的属性值以(名称,值)对列表形式返回

  

遇到非法格式的xml

  

ExpatError: no element found

  bad.xml为空文档时,内容如下:

  ?可扩展标记语言版本=1.0 ?

  执行如下大蟒代码,遇到xml.parser.expat.ExpatError异常:

  将xml.etree.ElementTree作为东部时间导入

  ET.parse(bad.xml )

  XML。解析器。外籍人士。expat错误:未找到任何元素:第3行,第0列

  

ExpatError: mismatched tag

  bad.xml中找不到对应结束标记符时,内容如下:

  ?可扩展标记语言版本=1.0 ?

  注意

  /注意

  因为区分大小写,所以/注意不能作为注意的结束标记。

  XML。解析器。外籍人士。expat错误:不匹配的标签:第3行第2列

  

ExpatError: not well-formed(invalid token)

  bad.xml中属性值未包含在双引号(quot)之中时,遇到如下异常:

  ?可扩展标记语言版本=1.0 ?

  注意id=你好

  /注意

  bad.xml中非法符号,在如果薪水是1000,那么语句的,如下:

  ?可扩展标记语言版本=1.0 ?

  注意id=你好

  如果工资1000那么

  /注意

  XML。解析器。外籍人士。expat错误:格式不正确(无效标记):第2行第9列

  以上就是大蟒标准库元素树处理可扩展标记语言的详细内容,更多关于大蟒元素树处理可扩展标记语言的资料请关注盛行信息技术软件开发工作室其它相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: