Friday, February 03, 2006
Character reference轉換
如果在文件檔中,有一些是屬於character reference的文字如下:
<gentext key="Abstract" text=" x6458; x8981;"/>那要如何去處理這些屬於character numeric notation的文字呢,利用python中的模組可以幫忙。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os,sys,re
from optparse import OptionParser
class XmlParser:
def __init__(self, XmlFile):
self.XmlData=open(XmlFile).read().decode('utf8')
def PrintOut(self):
from xml.dom.minidom import parseString
self.XmlObj= parseString(self.XmlData)
self.XmlStr=self.XmlObj.toxml(encoding='utf8')
print self.XmlStr
if __name__=='__main__':
usage='%prog [option]'
parser=OptionParser(usage=usage,version='%prog, Reversion 0.1')
parser.add_option('-X','--Xml',help='-X file.xml, parse XML')
options,args=parser.parse_args()
if len(sys.argv)==1: parser.print_help();raise SystemExit
if options.Xml:
xmlParser=XmlParser(options.Xml)
xmlParser.PrintOut()
利用xml模組中的minidom,可以方便地將character reference文字轉換,google中相關的網站連結資料很豐富: