XML的ElementTree解析方式

Posted mrzhang3389

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XML的ElementTree解析方式相关的知识,希望对你有一定的参考价值。

本章简单的了解一下xml的解析即可.
github博客传送门
csdn博客传送门

XML的解析

# 首先当是导入解析包了.
import xml.etree.cElementTree as ET  # 二选一建议选第一个
import xml.etree.ElementTree as ET   # 二选一建议选第一个

常用方法:

当要获取属性值时,用attrib方法。
当要获取节点值时,用text方法。
当要获取节点名时,用tag方法。

例:

import xml.etree.ElementTree as ET  # 导入解析XML的ElementTree包
tree = ET.parse("movies.xml")  # 将XML文件转换为ElementTree能解析的格式
root = tree.getroot()  # 获取根元素
print(root.tag, ":", root.attrib)  # 打印根元素的tag和属性
# 遍历所有的movie标签
for movie in root.findall("movie"):
    # 查找movie标签下的第一个type标签
    type = movie.find("type").text
    # 获取movie标签的title属性
    title = movie.get("title")
    # 打印movie的title 和 type内的文本
    print(title, type)

XML文档内容:

<collection shelf="New Arrivals">
<movie title="Enemy Behind">
   <type>War, Thriller</type>
   <format>DVD</format>
   <year>2003</year>
   <rating>PG</rating>
   <stars>10</stars>
   <description>Talk about a US-Japan war</description>
</movie>
<movie title="Transformers">
   <type>Anime, Science Fiction</type>
   <format>DVD</format>
   <year>1989</year>
   <rating>R</rating>
   <stars>8</stars>
   <description>A schientific fiction</description>
</movie>
   <movie title="Trigun">
   <type>Anime, Action</type>
   <format>DVD</format>
   <episodes>4</episodes>
   <rating>PG</rating>
   <stars>10</stars>
   <description>Vash the Stampede!</description>
</movie>
<movie title="Ishtar">
   <type>Comedy</type>
   <format>VHS</format>
   <rating>PG</rating>
   <stars>2</stars>
   <description>Viewable boredom</description>
</movie>
</collection>




以上是关于XML的ElementTree解析方式的主要内容,如果未能解决你的问题,请参考以下文章

python解析xml文件之xml.etree.cElementTree和xml.etree.ElementTree区别

使用 xml.etree.ElementTree 在 python 中解析 XML

python使用ElementTree解析XML文件

如何使用 python xml.etree.ElementTree 解析 eBay API 响应?

ElementTree:解析 XML 曾孙 [重复]

python xml解析之 xml.etree.ElementTree