2017-09-20 7 views
0

をprettifyingながら、私は、Python 2.7を使用してXMLファイルに入れるためのデータを持っていますが、私はこのエンコーディングエラーがあります。エンコーディング・エラーXML

File "script.py", line 121, in buildXML 
output_file.write(prettify(tickets)) 
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 2621: ordinal not in range(128) 

は私のコード:

output_file = open('tickets.xml', 'w') 
output_file.write('<?xml version="1.0"?>') 
output_file.write(prettify(tickets)) 
output_file.close() 

私が見つかりました。いくつかの解決策を試してみましたインターネット上での成功

+0

[Python 2.7: 'ascii'コーデックでファイルに書き込み中に文字u '\ xe9'をエンコードできない可能性があります](https://stackoverflow.com/questions/34947902/python-2-7- ascii-codec-cant-encode-character-u-xe9-error-write-in) –

+0

一般に、要素名にUnicode文字を使用でき、数値文字を使用できるため、Unicodeエンコーディングのいずれかを使用して文書を出力する必要がありますエンティティ参照は許可されません。たとえば、これは有効な文書で、ASCIIを使用できません: '<ć>&#x0109; ' –

答えて

0
output_file = open('tickets.xml', 'w') 
output_file.write('<?xml version="1.0"?>') 
output_file.write(prettify(unicode('{}'.format(tickets), errors='ignore').encode('ascii', 'ignore')) 
output_file.close() 

せずに私は、これはencode電子のためのあなたの問題を解決することを願っていますエラー

+0

output_file.write(uniquode(チケット、エラー= '無視'))encode( 'ascii'、 'ignore')) TypeError:Unicodeに強制する:文字列またはバッファが必要、Elementが見つかりました---チケット私のXML文書のルートです – Dudzer

+0

@Dudzerはチケットの内容を教えてくれます –

+0

xml.etree.cElementTreeをET ---- \t tickets = ET.Element( "tickets") – Dudzer

関連する問題