[解決済み] xml.parsers.expat.ExpatError: 整形式でない(無効なトークン)。
2022-02-19 21:57:24
質問
xmltodictを使って下記のxmlファイルを読み込むと、エラーが発生します。 xml.parsers.expat.ExpatError: 整形式でない(無効なトークン): 1行目、1列目
以下は私のファイルです。
<?xml version="1.0" encoding="utf-8"?>
<mydocument has="an attribute">
<and>
<many>elements</many>
<many>more elements</many>
</and>
<plus a="complex">
element as well
</plus>
</mydocument>
出典
import xmltodict
with open('fileTEST.xml') as fd:
xmltodict.parse(fd.read())
私はWindows 10で、Python 3.6とxmltodict 0.11.0を使用しています。
ElementTreeを使用すると動作します。
tree = ET.ElementTree(file='fileTEST.xml')
for elem in tree.iter():
print(elem.tag, elem.attrib)
mydocument {'has': 'an attribute'}
and {}
many {}
many {}
plus {'a': 'complex'}
注:改行の問題に遭遇したのかもしれません。
注2: 2つの異なるファイルでBeyond Compareを使用しました。
UTF-8 BOMエンコードされたファイルではクラッシュし、UTF-8ファイルでは動作します。
UTF-8 BOMは、読者がUTF-8でエンコードされたファイルであることを識別するためのバイト列(EF BB BF)である。
どのように解決するのですか?
エンコーディングの種類を定義し忘れているのではないでしょうか。 そのxmlファイルを文字列変数に初期化することをお勧めします。
import xml.etree.ElementTree as ET
import xmltodict
import json
tree = ET.parse('your_data.xml')
xml_data = tree.getroot()
#here you can change the encoding type to be able to set it to the one you need
xmlstr = ET.tostring(xml_data, encoding='utf-8', method='xml')
data_dict = dict(xmltodict.parse(xmlstr))
関連
-
[解決済み】ImportError: libcublas.so.9.0: 共有オブジェクトファイルを開くことができない
-
[解決済み】 raise TypeError(repr(o) + " is not JSON serializable")
-
[解決済み] シンタックスエラーと変数アノテーションのターゲットが不正であるというエラーが発生します。どうすれば直せますか?[クローズド]
-
[解決済み] TypeError: _thread.lockオブジェクトをpickleできません。
-
[解決済み] NumPy:linalg.eig()とlinalg.eigh()の違いについて
-
[解決済み] 修正方法:cx_Oracle.DatabaseError: DPI-1047: 64 ビット Oracle クライアントライブラリが見つかりません - Python
-
[解決済み] Python3.7でpip3 psycopg2を実行しようとするとエラー: pg_config executable not foundが発生します。
-
[解決済み] Python SSL証明書検証エラー
-
[解決済み] Jupyterノートブックで別ディレクトリのpyファイルをインポートする
-
[解決済み] モジュール 'pandas' には 'scatter_matrix' という属性がない」 というエラーはどうすれば解決できますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Virtualenv - workon コマンドが見つかりません。
-
[解決済み】`jupyter notebook`実行時のエラー(No such file or directory)
-
[解決済み] Dockerイメージの実行中にそのようなファイルやディレクトリがないエラーが発生する
-
[解決済み] sklearn の KNearest Neighbors - ValueError: クエリデータの次元はトレーニングデータの次元と一致する必要があります。
-
[解決済み] エアフロースケジューラーを再起動する
-
[解決済み] ImportError: libcublas.so.9.0: 共有オブジェクトファイルを開くことができない
-
[解決済み] python3のdateutil.parserの代わりとなるものは何ですか?
-
[解決済み] スクレイピングで何が間違っているのでしょうか。私のコードのために値を返さない
-
[解決済み] virtualenvを削除する方法を教えてください。
-
[解決済み】Python - n+nn+nnn+nnnの値を与えられた桁をnの値として計算する方法