编程语言
首页 > 编程语言> > 利用python完成xml配置文件的加载

利用python完成xml配置文件的加载

作者:互联网

今天天晴,周四,还有一日双休,最近空闲,宜分享。
最近,因需要提高软件灵活度,需要加载配置文件来解决此问题。灵机一动想到了用XML作为配置文件,试一波,配置灵活,能自检错误。现将利用python完成配置文件加载的,分享一波。

1、自定义的XML标签:
此结构见明知其意,为文件动态处理的机制,包括,原路径文件是否保存,移动位置,重命名等操作。
标签要求:一一对应,可按照自己的喜好定义标签,当然最好规范一点。
在这里插入图片描述
2、标签指定结束后,可利用浏览器检查样式是否正确。如不能正确显示,仔细检查一波哦。
在这里插入图片描述
3、利用python代码获取xml所在内容
首先你需要构建一个与标签对应的类,方便存储和读取,当然如果只用到一个标签对就能解决问题,就没有波必要了。

class fileCopy:
    def __init__(self,_savefile,_startingPosition,_targetLocation,_newFileName) -> None:
        self.savefile = _savefile
        self.startingPosition =_startingPosition
        self.targetLocation = _targetLocation
        self.newFileName = _newFileName
        pass
    
    def GetIsSavefile(self):
        return self.savefile 
    
    def GetstartingPosition(self):
        return self.startingPosition
    
    def GettargetLocation(self):
        return self.targetLocation
    
    def GetnewFileName(self):
        return self.newFileName

其次:写一个读取xml的方法

def readXML():
    try:
        domTree = parse("configuration.xml")
        rootNode = domTree.documentElement
        # 所有信息
        customers = rootNode.getElementsByTagName("fileMove")
        
        list1=[]
        for customer in customers:
            if customer.hasAttribute("savefile"):
                savefile = customer.getAttribute("savefile")
                startingPosition =customer.getElementsByTagName("startingPosition")[0]
                targetLocation =customer.getElementsByTagName("targetLocation")[0]
                newName = customer.getElementsByTagName("newFileName")[0]
     
                file = fileCopy(savefile,startingPosition.childNodes[0].data,targetLocation.childNodes [0].    data,newName.childNodes[0].data)
                list1.append(file)
        return list1
    except Exception as e:
        print("无法加载配置文件:configuration.xml")
        return []

总之,标签名和代码中要选择读取的名称要相同,否则加载失败,这就是上文提到的,标签名规范的重要性了,虽然我的也不那么规范。哈哈哈。
看完点赞哦,每天一个好习惯!

标签:xml,savefile,return,配置文件,python,标签,self,startingPosition,targetLocation
来源: https://blog.csdn.net/qq_43519428/article/details/121977044