python2 与 python3:关于xml.etree.ElementTree ET.fromstring()方法。python3可以解析过滤后的xml。

Be-youself 2019-05-16 04:54:15
在处理xml文件时,xml文件中包含中文字符,使用 text=re.sub(u"[\x00-\x08\x0b-\x0c\x0e-\x1f]+",u"",text)方法替换中文字符后,
对于xml.etree.ElementTree ET.fromstring() 方法,python2 仍然不可解析。python3 可以解析。没有查到相关文档,有谁清楚,怎么回事?
对于 xml.dom.minidom 模块 依旧如此!
...全文
743 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
import xml.etree.ElementTree as ET import traceback import pandas as pd import datetime filehoder=r'D:\myproject_python\AOI\xml_AOI -1\xml_AOI' filename=['V-NC419764','V-NC420305','NC421886'] with open(r'D:\myproject_python\AOI\xml_AOI -1\xml_AOI\0_V-NC419764.txt',"r") as f: file_section_list=f.read() f.close() print(file_section_list) def cutXmlSentences(file_str): """ 说明:一个xml文件中包含多个html段,进行分割. :param file: :return: """ final_list = [] output = "" str_list = file_str.split("\n") for i in range(len(str_list)): if str_list[i] != "\n": output += str_list[i] else: final_list.append(output) output = "" final_list.append(output) tmp_list = list(filter(lambda s: s != '' and s != ' ' and s != '\n', final_list)) return tmp_list def traversexml(element): """ 说明:遍历element所有子节点. :param element: :return: """ # print (len(element)) if len(element) > 0: for child in element: print(child.tag, "----", child.attrib) traversexml(child) def ReadXml(xml_string): """ 说明:解析xml文件成root. :param xml_string: :return: """ root = None if (xml_string): try: # print("xmlstring provided") root = ET.fromstring(xml_string) except Exception: # as e: print(xml_string) print("parse xmlstring failed!") finally: return root child_root = ReadXml(file_section_list) final_data_dict = {} for header in child_root.findall('header'): #这些元素只出现一次 for serialnumber in header.findall("serialnumber"): final_data_dict['boardid'] = serialnumber.text.strip("V-") for dt in header.findall("datetime"): date_time = datetime.datetime.strptime(dt.text.replace(".000+08:00", "").replace("T", " "),"%Y-%m-%d %H:%M:

241

社区成员

发帖
与我相关
我的任务
社区描述
企业开发 其他
社区管理员
  • 其他
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧