python解析gbk編碼的xml

2021-09-30 11:20:51 字數 1015 閱讀 5798

python解析xml,由於某些協會規定的原因,只能解析utf8和utf16的格式,而gbk和gb2312等解析的時候都會報錯,但是對於某些匯出的xml格式文件,很多都是gbk編碼的,那麼提供一種處理方式

先將xml解析成utf8格式,然後替代第一行的encoding格式,然後儲存乙個新檔案,提供後續解析,在解析完之後將這個新檔案刪除

#coding:utf-8
import codecs
f = codecs.open(file_name, 'rb','gbk') 

text = f.read().encode('utf-8')

text = text.replace('<?xml version="1.0" encoding="gbk"?>','<?xml version="1.0" encoding="utf-8"?>')

f.close()

tempfilename = file_name.split('.xml')[0]+'temp.xml'

f = open(tempfilename, 'wb')

f.write(text)

f.close()

dom = minidom.parse(tempfilename)

os.remove(tempfilename)

附: 解析這種文字node中的內容方法:

for listofmodel in dom.getelemefrom xml.dom import minidom  

dom = minidom.parse(tempfilename)

for listofmodel in dom.getelementsbytagname("listofmodel"):

self.__date = listofmodel.getattribute('starttime')

VB中的GBK編碼

option explicit function formatnametomac val as string as string dim i as integer dim str as string str for i 1 to len val if clng h hex asc mid val,i...

簡介python2 x的編碼

python2.x的中文編碼真是令人頭痛,簡單寫下自己的一點python編碼轉換的體會。windows平台用的預設編碼格式為gbk s raw input 在windows平台下 s 的字元編碼就是gbk,若要轉換為utf 8,則必須借助python內建物件unicode作為中介 u s.encod...

Python3 x編碼問題

1.記事本的ansi編碼為系統本地編碼,我的是gbk open 函式的encoding引數預設是本地編碼,也就是gbk,所以直接讀取ansi編碼的記事本檔案是木有問題的。怎麼檢視系統本地編碼?在cmd下輸入 chcp 從下表可以看出,936對應gbk編碼 下表列出了所有支援的 頁及其國家 地區 或者...