<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>
(1)根元素.任何XML数据文档必须包含根文档,示例根元素为
(2)子元素.
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,‘<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)
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写内容完成
原文:https://www.cnblogs.com/17time/p/13993899.html