• 生成XML文件的


    生成XML文件

    import sys
    class BuildNewXML(): # 自定义建立XML文件类
        def __init__(self,filename = None):
            self.filename = filename
            self.__get_f = None # 自定义隐含属性(类内部使用)
        def openfile(self): # 自定义打开xml类函数openfile
            if self.filename == None:
                print('没有提供文件名!请提供建立文件的名称!!!')
                return False # 返回False并终止后续代码继续执行
            try:
                self.__get_f = open(self.filename,'a',encoding='utf-8') # 以追加写入方式打开一个文件,不存在则新建
            except:
                print('打开%s文件有问题!'%(self.filename))
                return False
        def writeXML(self,n,element): # 自定义写xml文件内容函数
            try:
                if n==0:
                    self.__get_f.write(element+'
    ') # 根元素写入
                else:
                    self.__get_f.write(' '*n+element+'
    ') # 子元素写入
            except:
                print('往%s文件写%s出错!'%(self.filename,element))
                sys.exit()
        def closeXML(self): # 自定义关闭文件函数
            if self.__get_f:
                self.__get_f.close() # 关闭文件
    #==============================================================================================
    filename = "storehouse.xml"
    flag = False # 判断xml文件操作是否正常标志
    content = {1:[0,'<storeHouse>'],
               2:[4,'<goods category="fish">'],
               3:[8,'<title>淡水鱼</title>'],
               4:[8,'<name>鲫鱼</name>'],
               5:[8,'<amount>18</amount>'],
               6:[8,'<price>8</price>'],
               7:[4,'</goods>'],
               8:[4,'<goods category="fruit">'],
               9:[8,'<title>温带水果</title>'],
               10:[8,'<name>猕猴桃</name>'],
               11:[8,'<amount>10</amount>'],
               12:[8,'<price>10</price>'],
               13:[4,'</goods>'],
               14:[0,'</storehouse>']
                  }
    build_xml = BuildNewXML(filename) # 调用BuildNewXML类对象,即实例化一个对象,传递文件名
    try:
        build_xml.openfile() # 实例调用方法
        for get_item in content.items(): # 循环读取要写入的字典对象元素
            build_xml.writeXML(get_item[1][0],get_item[1][1]) # 写入xml文件
        flag = True # 写正常,标志为True
    except:
        print('文件写入错误,退出程序')
        sys.exit() # 退出程序
    finally:
        if flag: # 写xml文件正常
            build_xml.closeXML() # 正常关闭
            print('往%s写内容完成!'%(filename))
    

    运行结果

    <storeHouse>
        <goods category="fish">
            <title>淡水鱼</title>
            <name>鲫鱼</name>
            <amount>18</amount>
            <price>8</price>
        </goods>
        <goods category="fruit">
            <title>温带水果</title>
            <name>猕猴桃</name>
            <amount>10</amount>
            <price>10</price>
        </goods>
    </storehouse>
    
    正是江南好风景
  • 相关阅读:
    Eclipse 3.3快捷键收藏
    如何全库搜索某一字符串?
    Velocity模板(VM)语言介绍1 (转载)
    Array与ArrayList用法及转换(转)
    LINQ to SQL语句之Select/Distinct和Count/Sum/Min/Max/Avg YJingLee's Blog 博客园(转)
    Javascript页面跳转代码搜集 (转)
    关于Linq的.distinct()方法的运用(一个简单的例子)
    劳动仲裁委员会的具体地址即(朝阳区酒仙桥南十里居28楼的具体路线)______转
    sql server 函数
    javascript接收get方式的参数 (转)
  • 原文地址:https://www.cnblogs.com/monsterhy123/p/12961167.html
Copyright © 2020-2023  润新知