python操作xml文件示例
发布时间:2022-06-17 22:38:28
标签:python,xml
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>
0
投稿
猜你喜欢
- urllib的基本用法urllib库的基本组成利用最简单的urlopen方法爬取网页html利用Request方法构建headers模拟浏览
- 在windows平台上使用pyhton编写语音识别程序需要用到speech模块,speech模块支持的主要功能有:文本合成语音,将键盘输入的
- 本文实例讲述了python实现的分析并统计nginx日志数据功能。分享给大家供大家参考,具体如下:利用python脚本分析nginx日志内容
- 本文实例讲述了Python实现队列的方法。分享给大家供大家参考。具体实现方法如下:#!/usr/bin/env python queue =
- python断言assert语句assert语句的格式是【assert 表达式,返回数据】,当表达式为False时则触发AssertionE
- SQL防注入代码一<?php /** * 防sql注入 * @author: zhuyubing@gmail.com * */ /**
- 目录简介创建线程构造器方式继承方式守护线程线程本地数据定时器简介Python 通过 _thread 和 threading 模块提供了对多线
- 总结了一下自己工作中使用到的注释书写规范,没有什么技术含量,只是用于统一制作方式,方便维护。包含了“区域注释”、“单行注释”、“注释层级”和
- 本文实例为大家分享了python3音乐播放器的关键代码,供大家参考,具体内容如下from tkinter import *from trac
- 本文实例讲述了php以post形式发送xml的方法。分享给大家供大家参考。具体方法如下:方法一,使用curl:$xml_data = <
- 本文实例讲述了Python设计模式之工厂模式。分享给大家供大家参考,具体如下:工厂模式是一个在软件开发中用来创建对象的设计模式。工厂模式包涵
- 本文实例主要实现Python中的文件复制操作,有两种方法,具体实现代码如下所示:#coding:utf-8 # 方法1:使用read()和w
- 二元函数为y=x1^2+x2^2,x∈[-5,5]NIND=121; %初始种群的个数(Number of individual
- 记得从ymPrompt2.0的时候自己就遇到过在IE下有时会莫名其妙的提示“无法打开Internet站点 已终止操作”,这样的一个错误很让人
- Python语言与Perl,C和Java等语言有许多相似之处。但是,也存在一些差异。在本章中我们将来学习Python的基础语法,让你快速学会
- 前言本文主要讲述numpy数组的计算与转置,讲相同尺寸数组的运算与不同尺寸数组的运算,同时介绍数组转置的三种方法。numpy数组的操作比较枯
- 一、说在前面 需求:有一张长为960,宽为96的图片,需要将其分割成10张96*96的图
- 这个是今年年初写的一篇,拿出来温习下。指针让程序结构变得混乱,也让程序执行效率提高,因此在oo的语言中不提倡指针的使用,使得程序结构清晰易读
- 1.对于RGB三通道图片,直接用两层for循环的话,效率比较低2.可以先将RGB图片转为灰度图片,再利用numpy.where的广播机制统计
- 由于笔者最近在做一个跨数据库操作的测试,开始做IBatisNet (IBatis.DataMapper.1.6.2/IBatis.DataA