实用快速读取Xml文件的模块elementTree!!

引言:Xml是一种层级化的树状结构,可以引用树状结构表示

1. 导入

import xml.etree.ElementTree as ET

2. 从文件中读取xml

  tree = ET.parse("xxx.xml")

  # 获取Xml文件的根节点,是一个Element对象

  root  = tree.getroot()

   如果是xml文件是字符串的形式:

  root = ET.formstring(xxxx) 

3. Element 对象常用的属性:

  Element.tag--输出标签的名称

  Element.text -- 输出标签包含的内容

  Element.attrib -- 标签的属性,以键值对的形式存在

4. 查找Xml元素

  方法一:

  通过递归的方式,遍历根节点的所有子元素,获取树中所有的元素

  for child_root in root: 

    print(child_root.tag, child_root.text, child_root.attrib)

  方法二:

  使用Element.iter()方法遍历tree的所有元素

   for elem in root.iter():

    print(elem.tag,elem.attrib)

  ElementTree 对象常用的方法如下:

   1> find 返回第一个匹配的子元素

   2> findall 以列表的形式返回所有匹配的子元素(同一级的)

   3> 返回一个所有匹配元素的迭代器(iterator)

  方法三: 通过Xpath查找元素

Xpath 使用例子:
1. 返回所有tag为article的元素:
findall("article")
2. 返回 tag为article下之下所有tag为algorithm的元素,注意格式必须为 父节点/一代子节点,而不能为父节点/二代子节点,比如article/interval 就会找不到
findall(article/algorithm)

  


posted @   河海星辰  阅读(266)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示