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']

 

posted @ 2018-04-13 17:26  夏晓旭  阅读(219)  评论(0编辑  收藏  举报