XMLヘッダ:XML構文解析と(再度)ユニコード
<?xml version="1.0" encoding="UTF-8"?><points>
XMLデータがスニペット:
<point>
<id>1781</id><lon>43.245766666667</lon><lat>56.636883333333</lat>
<type>vert</type><last_update>2016-11-18 22:55:11</last_update>
<active>1</active><verified>1</verified><international>0</international><name>Vеrshilovo</name><name_ru>Вершилово</name_ru><city/><belongs>АОН</belongs><inde
コード:
tree = ET.parse(XMLFIL)
root = tree.getroot()
allpoints=root.findall('point')
for point in allpoints:
id=point.find('id').text
name=point.find('name').text.encode('utf8')
print name
これははAttributeError「を私に報酬を与えるであろう:「NoneType 'オブジェクトには属性がありません' encode '"エンコードを外すと悪名高い" ascii "コーデックが文字' u0435 'を位置1にエンコードできない:ordinal not i Nレンジ(128)」
NBエラーがである 『『Vershilovo』の』 E:それはそのようなOKに見えますが、XMLデータのhexdumpに対しては
00000000 56 e5 72 73 68 69 6c 6f 76 6f 0a |V.rshilovo.|
を与え、私はいくつかの関連の質問を見つけましたが、誰も私に解決策をもたらしませんでした。根本的な原因は、私のxmlデータの不正なエンコードである可能性がありますが、私はそれを制御することはできません。私はかなりの "?"のようないくつかのデフォルトに不正な値をリセットする必要がありますと生きることができますまたはそのような。
私は本当に理解することはできません:if文を使用して
別の例として、 - それはあります!出力には、「不規則な」憲章が含まれています。00000000 31 37 38 31 20 56 d0 b5 72 73 68 69 6c 6f 76 6f | 1781 V..rshilovo | –
'text'が' None'の場合に空の文字列を使うだけです。そうすれば、pythonは例外をスローしません。 try-exceptまたはif-elseを使用することもできますが、1ライナーが好きです;) –