python xml练习:从database.xml文件取databaselist的ip、name、passwd,写入列表
xml:
<?xml version='1.1' encoding='utf-8'?>
<!--this is a test about xml-->
<databaselist type='oracle'>
<database userArea='suzhou'>
<ip>10.192.128.88</ip>
<name>'xiasam'</name>
<passwd>!QAZ2wsx</passwd>
</database>
<database userArea='BeiJing'>
<ip>10.192.128.89</ip>
<name>'wu li'</name>
<passwd>3edc$RFV</passwd>
</database>
</databaselist>
#coding=utf-8
def getInfo(xml_file):
from xml.dom.minidom import parse
DOMTree=parse(xml_file)
databaselist=DOMTree.documentElement
#print databaselist
result=[]
databaselists=databaselist.getElementsByTagName('database')
for i in databaselists:#
for j in i.childNodes[1:6:2]:
print j.tagName,j.childNodes[0].data
result.append("%s : %s"%(j.tagName,j.childNodes[0].data))
return result
print getInfo(r"d:\\database_test.xml")
c:\Python27\Scripts>python task_test.py
ip 10.192.128.88
name 'xiasam'
passwd !QAZ2wsx
ip 10.192.128.89
name 'wu li'
passwd 3edc$RFV
[u'ip : 10.192.128.88', u"name : 'xiasam'", u'passwd : !QAZ2wsx', u'ip : 10.192.128.89', u"name : 'wu li'", u'passwd : 3edc$RFV']
下边是调试代码(注释)
#coding=utf-8
def getInfo(xml_file):
from xml.dom.minidom import parse
DOMTree=parse(xml_file)
databaselist=DOMTree.documentElement
#print databaselist
result=[]
databaselists=databaselist.getElementsByTagName('database')
for i in databaselists:
print "i:",i
for j in i.childNodes[1:6:2]:
print "j:",j
print "j.tagName:",j.tagName,"j.childNodes[0].data:",j.childNodes[0].data
result.append("%s : %s"%(j.tagName,j.childNodes[0].data))
return result
print getInfo(r"d:\\database_test.xml")
c:\Python27\Scripts>python task_test.py
i: <DOM Element: database at 0x2a06648>
j: <DOM Element: ip at 0x2a06760>
j.tagName: ip j.childNodes[0].data: 10.192.128.88
j: <DOM Element: name at 0x2a06800>
j.tagName: name j.childNodes[0].data: 'xiasam'
j: <DOM Element: passwd at 0x2a068a0>
j.tagName: passwd j.childNodes[0].data: !QAZ2wsx
i: <DOM Element: database at 0x2a06968>
j: <DOM Element: ip at 0x2a06a80>
j.tagName: ip j.childNodes[0].data: 10.192.128.89
j: <DOM Element: name at 0x2a06b20>
j.tagName: name j.childNodes[0].data: 'wu li'
j: <DOM Element: passwd at 0x2a06bc0>
j.tagName: passwd j.childNodes[0].data: 3edc$RFV
[u'ip : 10.192.128.88', u"name : 'xiasam'", u'passwd : !QAZ2wsx', u'ip : 10.192.128.89', u"name : 'wu li'", u'passwd : 3edc$RFV']
python xml练习:从database.xml文件取databaselist的ip、name、passwd,写入列表的更多相关文章
- python中用ElementTree.iterparse()读取xml文件中的多层节点
我在使用Python解析比较大型的xml文件时,为了提高效率,决定使用iterparse()方法,但是发现根据网上的例子:每次if event == 'end':之后elem.clear()或者是每次 ...
- Python—使用xm.dom解析xml文件
什么是DOM? 文件对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展置标语言的标准编程接口. 一个 DOM 的解析器在解析一个 XML 文档时,一次性读 ...
- 【python小随笔】python 解析xml数据的新手大坑>>抓取多重标签,遍历各标签的数据
xml文档: <GetMatchingProductResult ASIN="B071LF9R6G" status="Success">...< ...
- Python中xml.etree.ElementTree读写xml文件实例
import osimport xml.etree.ElementTree as ET'''Python 标准库中,提供了6种可以用于处理XML的包,本文举实例说明第6种1.xml.dom2.xml. ...
- python进阶(十七)xml(下)
1.XML简介 xml用到的地方:tomcat配置文件 1) xml 指可扩展标记语言(Extensible Markup Language) 2) xml 被设计用于结构化.存储和传输数据 3) x ...
- 【python】-- json & pickle、xml、requests、hashlib、shelve、shutil、configparser、subprocess
json & pickle Python中用于序列化的两个模块 json 用于[字符串]和 [python基本数据类型] 间进行转换 pickle 用于[python特有的类型] ...
- Python中使用ElementTree解析xml
在Python中,ElementTree是我们常用的一个解析XML的模块 1.导入ElementTree模块 from xml.etree import ElementTree as ET 2.初始化 ...
- 小白的Python之路 day5 模块XML特点和用法
模块XML的特点和用法 一.简介 xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单,不过,古时候,在json还没诞生的黑暗年代,大家只能选择用xml呀,至今 ...
- python xml.dom模块解析xml
1. 什么是xml?有何特征? xml即可扩展标记语言,它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言. 例子:del.xml <?xml version=&q ...
随机推荐
- JPEG图片扩展信息读取与修改
extends:http://www.2cto.com/kf/201405/303813.html 读写均是键值对的方式,需要注意的是值的类型需要严格按照api定义格式. 支持读写节点为: 1.TAG ...
- 经典把妹桥段:Flower dance开头对话
听到一首很赞的钢琴曲,Flower Dance,其开头有一段英文对话,如下: Lucy:"They serve the purpose of changing hydrogen into b ...
- Redis+Keepalived实现高可用
使用redis哨兵可以在主服务器出现故障的时候自动切换主从,但是从服务器的IP不同于原主服务器的IP还需要在客户端手动修改IP才能生效 下面使用keepalived实现VIP自动漂移 keepaliv ...
- Codeforces 592D - Super M - [树的直径][DFS]
Time limit 2000 ms Memory limit 262144 kB Source Codeforces Round #328 (Div. 2) Ari the monster is n ...
- Fata7y Ya Warda! SPOJ - DRUIDEOI 单调栈
题意:1e5个数围成一个环.现在要输出每个数左右第一个大于它的数的下标.若没有,则输出-1. 题解:单调栈板题.只是要把数据压入栈压两遍来模仿环. 具体分析:考虑一个递减的数列.要找左边最大的 ...
- 3322.org
3322.org — Krebs on Security https://krebsonsecurity.com/tag/3322-org/
- paas容器云
- cookie的封装写法
设置cookie 三个参数分别代表:键,值,过期时间,这个封装方法可以完成cookie的储存 以及cookie的删除(过期时间设为赋值) function setCookie(cname,cval ...
- 据库被标记为RESTORING的处理方式,正在还原中,正在恢复
关键词:正在还原,正在恢复,restoring,RECOVERING 转自:http://limindo.blog.163.com/blog/static/2647585620101161154121 ...
- 前端 html input标签 disable 属性
该属性只要出现在标签中,表示禁用该控件 <!DOCTYPE html> <html lang="en"> <head> <meta cha ...