0
点赞
收藏
分享

微信扫一扫

任务备忘(已经完成):用python写一个格式化xml字符串的程序


  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()

举报

相关推荐

0 条评论