0
lxml.etree.parse()在utf-16文件中生成字符串爲& #xxxx;我怎樣才能將它轉換回來?將xxx;轉換成正常字符?
在Web瀏覽器中打開輸出文件很好。不過,我仍然需要在輸出文件中使用常規字符串。
示例文件:
<?xml version="1.0" encoding="UTF-16"?>
<?xml-stylesheet type="text/xsl" href="xxx.xsl"?>
<TEI.2>
<teiHeader></teiHeader>
<text>
<front></front>
<body>
<p rend="chapter">อธิกรณปจฺจยกถาวณฺณนา</p>
<p rend="bodytext" n="285"><hi rend="paranum">๒๘๕</hi><hi rend="dot">.</hi> <hi rend="bold">วิวาทาธิกรณมฺหา</hi>ติ ‘‘อธมฺมํ ‘ธโมฺม’ติ ทีเปตี’’ติอาทินยปฺปวตฺตา อฎฺฐารสเภทกรวตฺถุนิสฺสิตา วิวาทาธิกรณมฺหาฯ</p>
</body>
<back></back>
</text>
</TEI.2>
代碼:
#coding:utf8
import lxml.etree as ET
xml_filename="example.xml"
dom = ET.parse(xml_filename)
print ET.tostring(dom, pretty_print=True))
輸出示例:
<?xml-stylesheet type="text/xsl" href="xxx.xsl"?><TEI.2>
<teiHeader/>
<text>
<front/>
<body>
<p rend="chapter">ทุกมาติกาปทวณฺณนา</p>
</body>
<back/>
</text>
</TEI.2>
你的代碼不能運行,我不是ee你在哪裏定義'xslt'和'newdom' – danidee
對不起。我編輯過。 – Bonn
現在我已經使用http://stackoverflow.com/a/12614706/3529093,但得到了錯誤: UnicodeEncodeError:'ascii'編解碼器不能編碼125-141位置的字符:序號不在範圍內(128) – Bonn