XML使用练习

 1 #!/usr/bin/env python
 2 # -*- coding:utf-8 -*-
 3 import requests
 4 from xml.etree import ElementTree as ET
 5 # 一、 查看腾讯QQ在线情况
 6 '''
 7 resonse = requests.get('http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx/qqCheckOnline?qqCode=1646165131516')
 8 resonse.encoding='utf-8'
 9 r = resonse.text
10 node = ET.XML(r)
11 print(node.text)
12 '''
13 # 二、查询火车时刻表
14 r = requests.get('http://www.webxml.com.cn/WebServices/TrainTimeWebService.asmx/getDetailInfoByTrainCode?TrainCode=G199&UserID=')
15 result = r.text
16 # 获取XML格式的内容
17 root = ET.XML(result)
18 for node in root.iter('TrainDetailInfo'):
19     # print(node.tag,node.attrib)
20     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文件解析更改并保存

 1 from xml.etree import ElementTree as ET
 2 # 解析XML文件
 3 tree = ET.parse('first.xml')
 4 # 获取顶端节点
 5 root = tree.getroot()
 6 for node in root.iter('KM'):
 7     # 更新节点内容
 8     new_km = int(node.text)+1
 9     node.text = str(new_km)
10     # 设置节点属性
11     node.set('name','sb')
12     node.set('heh','hha')
13     # 删除节点属性
14     del node.attrib['name']
15     print(node.text)
16 # 保存到源文件
17 tree.write('first.xml')

 

posted @ 2017-02-19 13:28  Erick-LONG  阅读(753)  评论(0编辑  收藏  举报