python 处理xml 遇到特殊符号解析错误的情况

global:[2017-06-05 10:27:48.662313] [DEBUG] 输出fmsg_content <msg fromusername="li2571" encryptusername="v1_d[email protected]stranger" fromnickname="??? ? ?? ??????e??" content="我是" fullpy="?????????????" shortpy="?????????????" imagestatus="3" scene="3" country="CN" province="Hubei" city="Jingzhou" sign="〢铷裹爱,请深爱.、.|‖|‖▍.*" percard="1" sex="2" alias="LiLizouli713" weibo="" weibonickname="" albumflag="0" albumstyle="0" albumbgimgid="" snsflag="17" snsbgimgid="http://szmmsns.qpic.cn/mmsns/aicQlel8roa2oJPnj8q8Gf1ibVnDX1x5HD23xde644eAP8x0E5qtm69hGQ5e6GOquAkiaku39cAte8/0" snsbgobjectid="12548372440867024976" mhash="3247e9c6ea7921d63e672c5ede4e206e" mfullhash="3247e9c6ea7921d63e672c5ede4e206e" bigheadimgurl="http://wx.qlogo.cn/mmhead/ver_1/kjW4HogEYibLpboXT4mUDTUV9BhRnXAt0C4DW7JvQUY3Tia8yF8ibBBGF7wRv9vaaFdFcLne8GybjLlsVaTrrKNrP2Zjjlxtp9vGKEdcgCiaB44/0" smallheadimgurl="http://wx.qlogo.cn/mmhead/ver_1/kjW4HogEYibLpboXT4mUDTUV9BhRnXAt0C4DW7JvQUY3Tia8yF8ibBBGF7wRv9vaaFdFcLne8GybjLlsVaTrrKNrP2Zjjlxtp9vGKEdcgCiaB44/96" ticket="v2_8655444fac8ef7e3a277aeee973c6038a[email protected]stranger" opcode="2" googlecontact="" qrticket="" chatroomusername="" sourceusername="" sourcenickname=""><brandlist count="0" ver="652744432"></brandlist></msg>
global:[2017-06-05 10:27:48.662493] [DEBUG] shuchuadezhi .、.     #这里是 fmsg_content[300:305]
global:[2017-06-05 10:27:48.662711] [ERROR] process_wechat_msg not well-formed (invalid token): line 1, column 301

import xml.etree.cElementTree as ET

xml_tree = ET.fromstring(fmsg_content)

运行报错

global:[2017-06-05 10:27:48.662711] [ERROR] process_wechat_msg not well-formed (invalid token): line 1, column 301

输出日志

fmsg_content[300:305]  得到的是特殊符号 .、.

先尝试:

# parser = ET.XMLParser(encoding=‘utf-8‘)

# xml_tree = ET.fromstring(fmsg_content, parser=parser)

得到

*** Error in `/usr/bin/python3‘: double free or corruption (!prev): 0x00000000012ae500 ***

大坑。。

最终

fmsg_content=re.sub(u"[\x00-\x08\x0b-\x0c\x0e-\x1f]+",u"",fmsg_content)

xml_tree = ET.fromstring(fmsg_content)

替换掉非法字符 就不会报错了

时间: 2024-09-30 00:29:08

python 处理xml 遇到特殊符号解析错误的情况的相关文章

Python实现XML文件解析

1. XML简介 XML(eXtensible Markup Language)指可扩展标记语言,被设计用来传输和存储数据,已经日趋成为当前许多新生技术的核心,在不同的领域都有着不同的应用.它是web发展到一定阶段的必然产物,既具有SGML的核心特征,又有着HTML的简单特性,还具有明确和结构良好等许多新的特性. test.XML文件 <?xml version="1.0" encoding="utf-8"?> <catalog> <m

Python读取xml报错解析--ExpatError: not well-formed (invalid token)

xml文件内容如代码所示存入的名字为login.xml: <?xml version="1.0" encoding="utf-8"?> <info> <explain>126</explain> <url>http://www.126.com</url> <null username="" password="">请先输入您的邮箱帐号</

[C# | XML] XML 反序列化解析错误:&lt;xml xmlns=&#39;&#39;&gt; was not expected. 附通用XML到类解析方法

使用 XML 反化时出现错误: public static TResult GetObjectFromXml<TResult>(string xmlString) { TResult result; XmlSerializer serializer = new XmlSerializer(typeof(TResult), new XmlRootAttribute("xml")); using (TextReader tr = new StringReader(xmlStri

asp.net mvc 碰到 XML 解析错误:找不到根元素 位置

具体报错信息如下: XML 解析错误:找不到根元素 位置:moz-nullprincipal:{4a1d2b7c-6d07-468e-9df9-2267a0422c93} 行 1,列 1: 网上给出的解决方案: js跨域操作时(网上搜,比较详细) 看着貌似有点沾边,结果我把浏览器缓存清除之后,就没有再出现这个问题了

XML 解析错误:找不到根元素

大家在开发web项目的过程中,可能会遇到"XML 解析错误:找不到根元素"这么一个问题,引起这个问题的原因可能有很多种,在这儿我只是跟大家分享一下我遇到一种情况. 1.项目背景描述 httl页面,jquery,springmvc框架开发项目的时候出现的问题 我在客户端通过ajax访问后台控制器中的action 未修改之前 /** * 生成图片 * @param request * @param uplodapath */ @RequestMapping(value="crea

python&quot;TypeError: &#39;NoneType&#39; object is not iterable&quot;错误解析

尊重原创博主,原文链接:https://blog.csdn.net/dataspark/article/details/9953225 [解析] 一般是函数返回值为None,并被赋给了多个变量. 实例看下: c=0def test(): if c == 1: a = b = 1 return a, b a, b = test() 使用 a, b = test()调用时,就会报错:TypeError: 'NoneType' object is not iterable 在Python判断语句中,当

10分钟掌握XML、JSON及其解析

引言 NOKIA 有句著名的广告语:“科技以人为本”.任何技术都是为了满足人的生产生活需要而产生的.具体到小小的一个手机,里面蕴含的技术也是浩如烟海,是几千年来人类科技的结晶,单个人穷其一生也未必能掌握其一角.不过个人一直认为基本的技术和思想是放之四海而皆准的,许多技术未必需要我们从头到尾再研究一遍,我们要做的就是站在巨人的肩膀上,利用其成果来为人们的需求服务. 随着移动互联网时代的大潮,越来越多的App不光是需要和网络服务器进行数据传输和交互,也需要和其他 App 进行数据传递.承担App与网

python+selenium自动化软件测试(第12章):Python读写XML文档

XML 即可扩展标记语言,它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进 行定义的源语言.xml 有如下特征: 首先,它是有标签对组成:<aa></aa> 标签可以有属性: <aa id=’123’></aa> 标签对可以嵌入数据: <aa>abc</aa>Python对XML文档读写常用有几个模块: (1) xml.etree.ElementTree ElementTree就像一个轻量级的DOM,具有方便友好的A

Python程序员的10个常见错误(转)

add by zhj:虽然学Python也有两年了,但这些问题的确容易犯,看来对Python的理解还有些地方不深入.先转了,有时间再好好看 译文:http://blog.jobbole.com/68256/ 本文由 伯乐在线 - datorhjaelten 翻译.未经许可,禁止转载!英文出处:toptal.欢迎加入翻译小组. 关于Python Python是一门解释性的,面向对象的,并具有动态语义的高级编程语言.它高级的内置数据结构,结合其动态类型和动态绑定的特性,使得它在快速应用程序开发(Ra