标签:asmx 内容 div 实现 webx 删除 for iter port
大纲:
①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‘)
标签:asmx 内容 div 实现 webx 删除 for iter port
原文地址:http://www.cnblogs.com/learn-python-M/p/6802387.html