python操作xml文件示例


Posted in Python onApril 07, 2014
def get_seed_data(filename):
dom = minidom.parse(filename)
root = dom.documentElement
system_nodes = root.getElementsByTagName("system")
k = 0
seed_list = []
for system_node in system_nodes:
    #print system_node.nodeName+' id='+system_node.getAttribute('id')
    system_id = system_node.getAttribute("id")
    system_name = system_node.getAttribute("name")
    #print 'system_name:%s'%system_name
    section_nodes = system_node.getElementsByTagName("section")
    for section_node in section_nodes:
            section_id = section_node.getAttribute('id')
            section_name = section_node.getAttribute('name')
            #print ' '+section_node.nodeName+' id='+section_id+' name='+section_name
            crawl_cycle_node = section_node.getElementsByTagName("crawl_cycle")
            crawl_cycle = crawl_cycle_node[0].childNodes[0].nodeValue
            #print '  '+crawl_cycle_node[0].nodeName+'='+crawl_cycle
            seed_nodes = section_node.getElementsByTagName('seed')
            for seed_node in seed_nodes:
                seed = {}
                seed['crawl_cycle'] = crawl_cycle
                seed['system_id'] = int(system_id)
                seed['system_name'] = system_name
                seed['section_id'] = int(section_id)
                seed['section_name'] = section_name
                seed_id = seed_node.getAttribute('id')
                seed['seed_id'] = int(seed_id)
                #print '  '+seed_node.nodeName+' '+'id='+seed_id
                userblog_url_node = seed_node.getElementsByTagName('userblog_url')
                userblog_url = userblog_url_node[0].childNodes[0].nodeValue
                seed['userblog_url'] = userblog_url
                #print '   '+'userblog_url'+' '+userblog_url
                print '-------------------------------------------'
                print 'system_id:%d' % seed['system_id']
                print 'system_name:%s'%seed['system_name']
                print ' section_id:%d' % seed['section_id']
                print ' section_name:%s' % seed['section_name']
                print '  seed_id:%d' %seed['seed_id']
                print '  userblog_url:%s' %seed['userblog_url']
                print '========================='
                seed_list.append(seed)
                print seed_list[k]
                k += 1
                os.system('pause')
return seed_list
<?xml version="1.0" encoding="utf-8" ?>
<seeds>
 <system id="1" name="新浪">
  <section id="1" name="娱乐">
   <crawl_cycle> </crawl_cycle>
   <seed id="1">
    <userblog_url>http://aaa.com.cn/loveissuuny</userblog_url>
   </seed>
   <seed id="2">
    <userblog_url>http://aaa.com.cn/loveissuuny</userblog_url>
   </seed>
   <seed id="3">
    <userblog_url>http://aaa.com.cn/sanxiazaixian</userblog_url>
   </seed>
  </section>
  <section id="2" name="读书">
   <crawl_cycle> </crawl_cycle>
   <seed id="11">
    <userblog_url>http://aaa.com.cn/twocold</userblog_url>
   </seed>
   <seed id="12">
    <userblog_url>http://aaa.com.cn/u/1233526741</userblog_url>
   </seed>
  </section>
 </system>
</seeds>
Python 相关文章推荐
Python机器学习库scikit-learn安装与基本使用教程
Jun 25 Python
Python画柱状统计图操作示例【基于matplotlib库】
Jul 04 Python
Flask框架各种常见装饰器示例
Jul 17 Python
Flask中endpoint的理解(小结)
Dec 11 Python
解决windows上安装tensorflow时报错,“DLL load failed: 找不到指定的模块”的问题
May 20 Python
如何卸载python插件
Jul 08 Python
浅谈matplotlib 绘制梯度下降求解过程
Jul 12 Python
python根据用户需求输入想爬取的内容及页数爬取图片方法详解
Aug 03 Python
如何在Python3中使用telnetlib模块连接网络设备
Sep 21 Python
python 发送邮件的四种方法汇总
Dec 02 Python
Python实现双向链表基本操作
May 25 Python
pytest实现多进程与多线程运行超好用的插件
Jul 15 Python
python生成随机验证码(中文验证码)示例
Apr 03 #Python
python读取html中指定元素生成excle文件示例
Apr 03 #Python
python实现zencart产品数据导入到magento(python导入数据)
Apr 03 #Python
python模拟登陆阿里妈妈生成商品推广链接
Apr 03 #Python
python多线程抓取天涯帖子内容示例
Apr 03 #Python
python局域网ip扫描示例分享
Apr 03 #Python
python实现数通设备tftp备份配置文件示例
Apr 02 #Python
You might like
PHP 压缩文件夹的类代码
2009/11/05 PHP
如何阻止网站被恶意反向代理访问(防网站镜像)
2014/03/18 PHP
ThinkPHP提示错误Fatal error: Allowed memory size的解决方法
2015/02/12 PHP
实现PHP框架系列文章(6)mysql数据库方法
2016/03/04 PHP
php结合mysql与mysqli扩展处理事务的方法
2016/06/29 PHP
PHP Ajax实现无刷新附件上传
2016/08/17 PHP
简单实现PHP留言板功能
2016/12/21 PHP
jquery Firefox3.5中操作select的问题
2009/07/10 Javascript
js 获取服务器控件值的代码
2010/03/05 Javascript
javascript 正则表达式相关应介绍
2012/11/27 Javascript
window.open的页面如何刷新(父页面)上层页面
2012/12/28 Javascript
Jquery自定义button按钮的几种方法
2014/06/11 Javascript
JavaScript中的apply和call函数详解
2014/07/20 Javascript
Nodejs为什么选择javascript为载体语言
2015/01/13 NodeJs
Angular2中select用法之设置默认值与事件详解
2017/05/07 Javascript
如何通过非数字与字符的方式实现PHP WebShell详解
2017/07/02 Javascript
本地搭建微信小程序服务器的实现方法
2017/10/27 Javascript
vue学习笔记之作用域插槽实例分析
2020/02/01 Javascript
用vue 实现手机触屏滑动功能
2020/05/28 Javascript
vue 实现把路由单独分离出来
2020/08/13 Javascript
[07:54]DOTA2-DPC中国联赛 正赛 iG vs VG 选手采访
2021/03/11 DOTA
Python调用SQLPlus来操作和解析Oracle数据库的方法
2016/04/09 Python
Python可变参数用法实例分析
2017/04/02 Python
python中matplotlib的颜色及线条控制的示例
2018/03/16 Python
Python装饰器用法实例总结
2018/05/26 Python
Python3.7中安装openCV库的方法
2018/07/11 Python
python中的TCP(传输控制协议)用法实例分析
2019/11/15 Python
使用Python爬虫爬取小红书完完整整的全过程
2021/01/19 Python
荷兰鞋子在线:Nelson Schoenen
2017/12/25 全球购物
英国百年闻名的优质健康产品连锁店:Holland & Barrett
2019/12/19 全球购物
STP协议的主要用途是什么?为什么要用STP
2012/12/20 面试题
女大学生自我鉴定
2013/12/09 职场文书
民生工作实施方案
2014/05/31 职场文书
分公司经理任命书
2014/06/05 职场文书
幼儿园小班开学寄语(2016秋季)
2015/12/03 职场文书
Nginx隐藏式跳转(浏览器URL跳转后保持不变)
2022/04/07 Servers