XML格式(有问题,待更)
XML(Extensible Markup Language,可扩展标记语言)
淡水鱼
鲫鱼
18
8
温带水果
猕猴桃
10
10
(1)根元素.任何XML数据文档必须包含根文档,示例根元素为
(2)子元素.
(3)标签.带<>的为标签,
(4)嵌套元素之间采用缩进格式,建议采用空4个空格的标准缩进格式
(5)属性
(6)文本
XML树形结构主要包括元素.属性.文本三要素
生成XML文件
import sys
class BuildNewXML(): #自定义建立XML文件
def __init__(self,filename=None): #类的初始化保留__init__
self.filename=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):
try:
if n==0: #根元素写入
self.__get_f.write(element+'\n')
else:
self.__get_f.write(' '*n+element+'\n')
except:
print('往%s文件写%s出错!' % (self.filename,element)) #写入出错提示
def closeXML(self):
if self.__get_f: #在正常打开文件情况下
self.__get_f.close() #关闭文件
#=============================================================
filename='storehouse.xml'
flag=False
content={1:[0,''],
2:[4,''],
3:[8,'淡水鱼 '],
4: [8, '鲫鱼 '],
5: [8, '18 '],
6: [8, '8 '],
7: [4, '/goods'],
8 :[4, ''],
9: [8, '温带水果 '],
10: [8, '猕猴桃 '],
11: [8, '10 '],
12: [8, '10 '],
13: [4, ' '],
14: [0, ' '],
}
build_xml=BuildNewXML(filename)
try:
build_xml.openfile()
for get_item in content.items(): #循环读取写入字典对象元素
build_xml.writeXML(get_item[1][0],get_item[1][1]) #写入XML文件
flag=True
except:
print('往文件里写内容出错,退出程序!')
sys.exit()
finally:
if flag:
build_xml.closeXML() #正常关闭打开的XML文件
print('往%s写内容完成'%(filename))
#执行结果:往storehouse.xml写内容完成