XML是实现不同语言或不同程序之间数据交换的协议。
我们通过浏览器访问资源时,服务端返回给我们数据的格式,通常为json,HTML以及XML等三种格式的数据。
json数据通过json模块的loads和dumps可以进行数据的序列化和反序列化。
HTML格式的数据浏览器可以直接解释运行
XML格式的数据我们可以通过python中XML模块进行解析和修改。
对于XML数据的解析方式可以分为两类,通过服务端传回来的数据直接进行解析或者通过储存的XML文件进行解析。
#! /usr/bin/env python
# -*- coding:utf-8 -*-
"""
xml对象常见的属性
tag返回标签的名字
text返回标签的内容
attrib标签的属性
append 为当前节点追加子节点
remove 为当前节点的子节点中删除指定节点
get 获取当前节点的属性值
set 为当前节点设置属性值
直接操作字符串的方式如果对xml类型文件想要保存,必须通过根节点生成一个ElementTree对象,通过调用其write方法进行写入保存
"""
"""
创建xml文件的方式
1.通过类的构造方法直接创建节点 Element.Element()
2.通过makeelement()
3.通过Element.SubElement()
"""
from xml.etree import ElementTree
import requests
response = requests.get("url")
response.encoding = "utf-8"
ret = response.text
#将字符串解析为xml对象
root = ElementTree.XML(ret)
#直接通过本地的xml文件进行操作
tree = ElementTree.parse("*.xml")
root = tree.getroot()
#遍历操作
for node in root:
print(node.tag, node.attrib, node.tag)
#查找指定名字的Elemetn节点
for node2 in node.iter("tag_name"):
print(node2.tag, node2.text, node2.attrib)
#设置属性
node2.set("key", "value")
#删除属性
del node2.attrib["key"]