博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python解析xml文件遇到的编码解析的问题
阅读量:6241 次
发布时间:2019-06-22

本文共 1128 字,大约阅读时间需要 3 分钟。

使用python对xml文件进行解析的时候,假设xml文件的头文件是utf-8格式的编码,那么解析是ok的,但假设是其它格式将会出现例如以下异常:

xml.parsers.expat.ExpatError: unknown encoding

因此,为了保证程序的正常执行,我们须要对读取的文件进行编码处理。

1、首先将读取的字符从原来的编码解析,并编码成utf-8;

2、改动xml的encoding;

代码例如以下:

import sysimport osimport datetimeimport timeimport stringfrom urllib import unquoteimport MySQLdbimport xml.parsers.expatimport xml.etree.ElementTree as Etreeimport typesimport httplibimport urllib2import urllibimport jsonimport redef readDataFromNetwork(url):	req = urllib2.Request(url)	rd = urllib2.urlopen(req)	readData = rd.read()	return readData# def parseXmlStr(_str):		try:		# 将字符串进行解码编码		_str = unquote(_str)		_str = _str.decode('gbk').encode('utf-8')		print _str[0:100]	except Exception,ex:		print 'error'	# 改动xml文件的编码方式	_str = re.sub('gbk', 'utf-8', _str)	xmlDoc = Etree.fromstring(_str)	childList = xmlDoc.getchildren()	for node in childList:		str_value = node.find("display/url").text		if str_value.find('CDATA') != -1:			print 'haha'

输出结果例如以下:

百日咳
<?xml version="1.0" encoding="utf-8" ?>
百日咳

转载地址:http://wzdia.baihongyu.com/

你可能感兴趣的文章
try{}catch{}
查看>>
[Aaronyang] 写给自己的WPF4.5 笔记11[自定义控件-AyImageButton的过程 1/4]
查看>>
Linux VMware新添加网络适配器找不到配置文件问题
查看>>
Javascript百学不厌 - this
查看>>
机器学习中的数学(1)-回归(regression)、梯度下降(gradient descent)
查看>>
实用算法实现-第 14 篇 启发式搜索
查看>>
c#常用的排序算法
查看>>
论文阅读——Visual inertial odometry using coupled nonlinear optimization
查看>>
Office插件编程[转]
查看>>
读代码还是读文档,来自知乎
查看>>
Linux 常见编译错误
查看>>
ASP.NET MVC 3 Controller
查看>>
Vs中调试MVC源代码步骤
查看>>
JavaScript项目重构到底有多少坑要填要踩
查看>>
footer绝对定位但是不在页面最下边解决方案
查看>>
Oil Deposits(油田)(DFS)
查看>>
Android 画图(自定义坐标轴控件的拖动实现)
查看>>
在Linux下配置git并设置远程仓库
查看>>
[解题报告]499 - What's The Frequency, Kenneth?
查看>>
Vue入门---常用指令详解
查看>>