1

一部の XML をクリーンアップして、Python で etree を使用して解析できるようにするのに非常に苦労しています。基本的に、Python スクリプトがそれを読み取る前に、各文字列エントリのすべての特殊文字をエスケープしようとしています。

'xml.parsers.expat.ExpatError: not well-formed'

そのため、XML 文字列エントリを生成している間、sed特殊文字をエスケープされたバージョンまたは単にspace気にしない場合に置き換えるために使用しています。

しかし、生成された XML に^H、vim が青色で強調表示した文字が表示されます。

をエスケープしようとしました^が、うまくいきませんでした。文字が残っているので、何らかの複合特殊文字である必要があると考えています。

ため息、なぜこれがそんなにひどいのですか。とにかく助けてくれてありがとう。

4

1 に答える 1

2

^Hテキストに埋め込まれたバックスペース文字 (ASCII 文字 8) を表す一般的な方法です。フィルタリングにすでにsed/bashを使用している場合は、次のことができます。

cat infile | sed s/$'\b'// > outfile

それでも、そもそも入力ファイルに ^H があったのは良いことだとは思いません...どのように生成していますか?

于 2012-07-12T18:42:06.913 に答える