import re
def getData(file_name):
path="D:\\Python\\xml\\"+file_name+".txt"
str=''
with open(path,'r',encoding='utf-8') as f:
for line in f.readlines():
str=str+line
return str.strip()
def getSpace(level):
space='
'
for i in range(level):
space=space+' '
return space
def printXml(xml_str):
#xml_list=xml_str.split('([>])')
new_xml_list=""
head=xml_str[0:9]
xml_str=xml_str[9:]
xml_list=re.split(r'([>])',xml_str)
xml_list =["".join(i) for i in zip(xml_list[0::2],xml_list[1::2])]
level=0
for node in xml_list:
if(re.match(r'',node)):
new_xml_list=new_xml_list+new_xml_list+node
continue
elif(re.match(r'',node)):
new_xml_list=new_xml_list+getSpace(level)+node
level=level+1
continue
elif(re.match(r'',node)):
level=level-1
new_xml_list=new_xml_list+getSpace(level)+node
continue
elif(re.match(r'',node)):
new_xml_list=new_xml_list+getSpace(level)+node
elif(re.match(r'.+',node)):
new_xml_list=new_xml_list+node
level=level-1
else:
print(node)
print(new_xml_list)
def main():
xml_str=getData('1000')
printXml(xml_str)
main()