Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2153308
  • 博文数量: 333
  • 博客积分: 10161
  • 博客等级: 上将
  • 技术积分: 5238
  • 用 户 组: 普通用户
  • 注册时间: 2008-02-19 08:59
文章分类

全部博文(333)

文章存档

2017年(10)

2014年(2)

2013年(57)

2012年(64)

2011年(76)

2010年(84)

2009年(3)

2008年(37)

分类: Python/Ruby

2010-12-28 23:52:29

今天我们写一个从XML配置文件读取数据库配置的例子:

#================================import begin
import win32com
import xml.dom.minidom
#================================import end

#================================class CDBConfig begin
#从xml文件读取数据库配置的类
class CDBConfig:
  def __init__(self,ConfigFilePath):                #ConfigFilePath是配置文件的路径
    self.__ConfigFilePath=ConfigFilePath
    CDBConfig.DBConnects={}                        #CDBConfig.DBConnects是CDBConfig类的静态字典成员,用来存放数据库访问串
                                                                              #每个key对应一个连接串
    self.ConfigXMLFile()                                    #从XML文件中读取数据可连接信息

  #定义往连接数据字典里增加连接的方法
  def AddConnect(self,key,server="(localhost)",database="master",user="sa",password="",dbtype="SQLServer"):
    if dbtype=="SQLServer" :
      self.__sconn = "server=" + server + ";database=" + database + ";uid=" + user +";pwd=" + password;
      CDBConfig.DBConnects[key]=self.__sconn

  #定义读取XML文件的方法
  def ConfigXMLFile(self):
    self.__key = ""
    self.__server = ""
    self.__database = ""
    self.__user = ""
    self.__password = ""

    self.__xmlFile=open(self.__ConfigFilePath,'r')                        #只读打开配置文件
    self.__dom=xml.dom.minidom.parse(self.__xmlFile)                #解析xml
    self.__xmlFile.close()                                                                    #关闭文件
    self.__connect_elements=self.__dom.getElementsByTagName("DBConnection")        #取得所有的DBConnection节


    for connect_element in self.__connect_elements:                    #每个DBConnection节都是一个连接串
        self.__key      = connect_element.getAttribute("Key")
        self.__server   = connect_element.getAttribute("Server")
        self.__database = connect_element.getAttribute("Database")
        self.__user     = connect_element.getAttribute("User")
        self.__password = connect_element.getAttribute("Password")
        self.AddConnect(self.__key,self.__server,self.__database,self.__user,self.__password,dbtype="SQLServer")       
        
#================================class CDBConfig end
if __name__=="__main__":                            #测试代码
    myconns=CDBConfig("c:\DBConnects.config")
    for key in CDBConfig.DBConnects.keys():#对每一个key执行
        print key+'\n'                                                #把每个数据库联接都打印出来
    

DBConnects.config文件格式如下,每个key代表一个数据库连接,key不允许重复:

 
 
 
 
以上主要是演示了怎样从xml读取配置,其他的处理以后再说,今天暂时到此,8
阅读(1436) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2011-01-03 14:49:13

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com