• 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:Python27Scripts>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:Python27Scripts>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']

  • 相关阅读:
    svn导入项目和部署方面的相关问题
    JDK版本会影响项目部署
    在HTML中限制input 输入框只能输入纯数字
    mui-下拉刷新
    抽象工厂模式(Abstract Factory)C#实例
    C++基础-结构体伪函数与多线程(void operator()(int))
    Android基础-Activity生命周期
    Android基础-Adapter适配器生成对话框
    Android基础-弹窗对话框(popup)
    Android基础-自定义对话框
  • 原文地址:https://www.cnblogs.com/xiaxiaoxu/p/8822056.html
Copyright © 2020-2023  润新知