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的Flask框架中实现分页功能的教程
Apr 20 Python
200行自定义python异步非阻塞Web框架
Mar 15 Python
python实现简单中文词频统计示例
Nov 08 Python
Python基于jieba库进行简单分词及词云功能实现方法
Jun 16 Python
python计算列表内各元素的个数实例
Jun 29 Python
Python 利用pydub库操作音频文件的方法
Jan 09 Python
解决pycharm工程启动卡住没反应的问题
Jan 19 Python
详细介绍pandas的DataFrame的append方法使用
Jul 31 Python
浅谈pytorch中torch.max和F.softmax函数的维度解释
Jun 28 Python
10个python爬虫入门实例(小结)
Nov 01 Python
详解Python openpyxl库的基本应用
Feb 26 Python
Python操作CSV格式文件的方法大全
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
phpExcel导出大量数据出现内存溢出错误的解决方法
2013/02/28 PHP
PHP实现微信公众平台音乐点播
2014/03/20 PHP
Codeigniter校验ip地址的方法
2015/03/21 PHP
Javascript 日期对象Date扩展方法
2009/05/30 Javascript
NodeJS框架Express的模板视图机制分析
2011/07/19 NodeJs
formvalidator验证插件中有关ajax验证问题
2013/01/04 Javascript
浅析offsetLeft,Left,clientLeft之间的区别
2013/11/30 Javascript
JS Replace 全部替换字符的用法小结
2013/12/24 Javascript
jQuery中dequeue()方法用法实例
2014/12/29 Javascript
jQuery实现仿淘宝带有指示条的图片转动切换效果完整实例
2015/03/04 Javascript
js实现点击链接后延迟3秒再跳转的方法
2015/06/05 Javascript
javascript禁止访客复制网页内容的实现代码
2015/08/05 Javascript
javascript中call,apply,bind函数用法示例
2016/12/19 Javascript
JS实现弹出下载对话框及常见文件类型的下载
2017/07/13 Javascript
原生javascript实现的全屏滚动功能示例
2017/09/19 Javascript
深入理解Vue生命周期、手动挂载及挂载子组件
2017/09/27 Javascript
浅谈Node 调试工具入门教程
2018/03/20 Javascript
Vue中如何实现proxy代理
2018/04/20 Javascript
快速解决select2在bootstrap模态框中下拉框隐藏的问题
2018/08/10 Javascript
js中this的指向问题归纳总结
2018/11/28 Javascript
浅谈小程序globalData的那些事儿
2019/11/01 Javascript
推荐几个不错的console调试技巧实现
2019/12/20 Javascript
python del()函数用法
2013/03/24 Python
python3解析库lxml的安装与基本使用
2018/06/27 Python
在pycharm中python切换解释器失败的解决方法
2018/10/29 Python
[原创]Python入门教程2. 字符串基本操作【运算、格式化输出、常用函数】
2018/10/29 Python
python利用百度AI实现文字识别功能
2018/11/27 Python
Python中整数的缓存机制讲解
2019/02/16 Python
python实现跨excel sheet复制代码实例
2020/03/03 Python
CSS3 对过渡(transition)进行调速以及延时
2020/10/21 HTML / CSS
h5实现获取用户地理定位的实例代码
2017/07/17 HTML / CSS
Expedia印度尼西亚站:预订酒店、廉价航班和度假套餐
2018/01/31 全球购物
Rentalcars.com中国:世界上最大的在线汽车租赁服务
2019/08/22 全球购物
学习经验交流会总结
2015/11/02 职场文书
历史名人教你十五个读书方法,赶快Get起来!
2019/07/18 职场文书
ECharts transform数据转换和dataZoom在项目中使用
2022/12/24 Javascript