首页 > 代码库 > xml模块
xml模块
大纲:
①xml是什么
②配合requests模块,实现对xml数据的提取及修改
③xml中其它的功能
一、xml是我们请求网站时,网站会返回数据给我们,xml是返回数据格式的一种。json也是一种格式。
二、对于xml格式的数据处理,废话不多说了,见代码。
解析XML文件
方法一 只适合提取不适合修改
from xml.etree import ElementTree as ET # 打开文件,读取XML内容 str_xml = open(‘xo.xml‘, ‘r‘).read() # 将字符串解析成xml特殊对象,root代指xml文件的根节点 root = ET.XML(str_xml)
方法二
注意:getroot()是获得.xml文件的根结点只适用于parse处理后的xml
from xml.etree import ElementTree as ET # 直接解析xml文件 tree = ET.parse("xo.xml") # 获取xml文件的根节点 root = tree.getroot()
解析XML网址
import requests from xml.etree import ElementTree as ET r = requests.get(‘http://www.webxml.com.cn/WebServices/TrainTimeWebService.asmx/getDetailInfoByTrainCode?TrainCode=G666&UserID=‘) result = r.text root = ET.XML(result) for node in root.iter("TrainDetailInfo"): #节点 指定的标签要是一个可迭代的对象。 print(node.find(‘TrainStation‘).text) #子节点的内容 print(node.tag,node.attrib) #字节点的标签与标签属性
2. 修改指定标签的内容: 是接在get.root()后面执行
for node in root.iter(‘year‘): new_year = int(node.text)-1 node.text = str(new_year) tree.write(‘first.xml‘)
3. 修改和删除标签属性
for node in root.iter(‘year‘): #修改标签属性 node.set("name","alex") #删除标签属性 del node.attrib["name"] tree.write(‘first.xml‘)
xml模块
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。