Python的XML編碼跟解碼,’xmlcharrefreplace’

今天在酷!學園看到一個問題:

Python版本:2.3
請問若是我將一字串從unicode轉成XML格式的字元編碼,如何再重XML格式編碼轉成unicode呢?
如:
text = u”1月1日”
text2 = text.encode(‘ascii’,’xmlcharrefreplace’)
print text2   #顯示    1月1日
請問我要怎樣做才能將[1月1日]字串變回”1月1日”呢?

ㄚ琪想想好像以前有碰過這類問題,所以就Google一下如何解法?終於找到了,就是使用Beautiful Soup模組!

解法如下:

# -*- coding: utf-8 -*-
from BeautifulSoup import BeautifulStoneSoup
text = u”1月1日”
text2 = text.encode(‘ascii’,’xmlcharrefreplace’)
print text2
decodedString=unicode(BeautifulStoneSoup(text2,convertEntities=BeautifulStoneSoup.HTML_ENTITIES ))
print decodedString

Print Friendly, PDF & Email

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料