XML使用练习

 #!/usr/bin/env python
# -*- coding:utf-8 -*-
import requests
from xml.etree import ElementTree as ET
# 一、 查看腾讯QQ在线情况
'''
resonse = requests.get('http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx/qqCheckOnline?qqCode=1646165131516')
resonse.encoding='utf-8'
r = resonse.text
node = ET.XML(r)
print(node.text)
'''
# 二、查询火车时刻表
r = requests.get('http://www.webxml.com.cn/WebServices/TrainTimeWebService.asmx/getDetailInfoByTrainCode?TrainCode=G199&UserID=')
result = r.text
# 获取XML格式的内容
root = ET.XML(result)
for node in root.iter('TrainDetailInfo'):
# print(node.tag,node.attrib)
print(node.find('TrainStation').text,node.find('StartTime').text,node.find('KM').text)

结果:

北京南(车次:G199) 17:25:00 0
廊坊 17:48:00 60
德州东 18:48:00 314
济南西 19:15:00 406
济南 19:34:00 426
淄博 20:19:00 536
青州市 20:39:00 579
潍坊 21:01:00 636
高密 21:29:00 721
青岛 None 819

打开本地XML文件解析更改并保存

 from xml.etree import ElementTree as ET
# 解析XML文件
tree = ET.parse('first.xml')
# 获取顶端节点
root = tree.getroot()
for node in root.iter('KM'):
# 更新节点内容
new_km = int(node.text)+1
node.text = str(new_km)
# 设置节点属性
node.set('name','sb')
node.set('heh','hha')
# 删除节点属性
del node.attrib['name']
print(node.text)
# 保存到源文件
tree.write('first.xml')
上一篇:也谈基于NodeJS的全栈式开发(基于NodeJS的前后端分离)


下一篇:HTTP 的重定向301,302,303,307(转)