問題タブ [elementtree]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
481 参照

xml - Python を使用した XML の解析

Python 2.5 と WinXP を使用しています。私は以下のようにxmlファイルを解析しています:

ただし、印刷すると、出力は次のようになります。

質問: Link と Lanestat が None の代わりに表示されるようにコードを変更する方法。tq コード:

0 投票する
1 に答える
5624 参照

python - Web からの XML ファイルで xml.etree.ElementTree を使用した「要素が見つかりません」

Python のソースは次のとおりです。

これを実行しようとすると、次のエラーが発生します。

なぜこれが起こっているのか、誰も助けることができますか?

0 投票する
2 に答える
3932 参照

python - xml のコンテンツを検索/置換

xml.etree.ElementTree を使用して xml を解析し、コンテンツを検索してから、これを別の xml に書き込むことに成功しました。ただし、単一のタグ内でテキストを操作しただけです。

しかし今、私はする必要があります:

1) xml を検索し、「attr」タグ間のすべてを取得します。以下に例を示します。

2) ここで、別の xml を開いて、同じ「attr」タグ内のすべてのコンテンツを検索し、上記のものに置き換える必要があります。

基本的に、私が以前に行っていたことですが、「attr」タグ間のサブ要素、属性などを無視して、テキストのように扱います。

ありがとう!!

ご容赦ください。このフォーラムは、以前とは少し異なります (投稿)。

これが私がこれまでに持っているものです:

これが機能するようになりました。以下を参照してください。新しい .xml にエクスポートする方法もわかりました。ただし、属性の数が異なる場合。ソースから宛先まで、次のエラーが表示されます。何か提案はありますか?

ノード = replacements.pop()

IndexError: 空のリストからポップ

update 5/16/2011 で、上記の "IndexError: pop from empty list" エラーを修正するためにいくつかのことを再構築しました。「attr」タグの置換は常に 1 対 1 の置換ではないことに気付きました。たとえば。ソース .xml には 20 個の属性があり、宛先 .xml には 25 個の属性がある場合があります。この場合、1 対 1 の置換はチョークします。

とにかく、以下はすべての属性を削除してから、ソース属性に置き換えます。また、別のタグ「subtype」が存在するかどうかをチェックし、attr の後に追加しますが、「detailed」タグ内に追加します。

助けてくれたすべての人にもう一度感謝します。

0 投票する
2 に答える
2682 参照

python - `pythons etree.iterparse()` を使用した巨大な xml ファイルの解析が正しく機能しません。コードに論理エラーがありますか?

巨大なファイル xml-file を解析したい。この巨大なファイルのレコードは、たとえば次のようになります。そして、一般的に、ファイルは次のようになります

このファイルから録音を選択するためのコードをいくつか書きました。

コードを実行すると (MySQL データベースへの保存を含めて 50 分近くかかります) 、100 万近くの作成者がいると思われるレコードがあることに気付きます。これは間違っているに違いありません。ファイルを調べて、ファイルにエラーがないことを確認しました。この論文の著者は 5 人か 6 人しかいないので、dblp.xml については問題ありません。したがって、コードに論理エラーがあると想定しています。しかし、これがどこにあるのかわかりません。おそらく、エラーがどこにあるのか、誰かが教えてくれますか?

コードは行で停止しますif len(auth) > 2000

編集:

この関数を書いたとき、私は完全に見当違いでした。私は見落として大きな間違いを犯しました. ファイルのある時点で、100 万近くのレコードを連続してスキップしたところ、次の必要なレコードが爆破されました。

John と Paul の助けを借りて、なんとかコードを書き直すことができました。現在解析中であり、うまく処理できるように継ぎ目があります。予期しないエラーが解決されない場合は、また報告します。それ以外の場合は、ご協力いただきありがとうございます。本当に感謝しています!

0 投票する
2 に答える
1743 参照

python - Python ElementTree: プリティプリントを実装しようとしてエラーが発生しました

非常に醜いxmlファイルを書き込むElementTreeを使用したpython xmlコードがあります。xml ファイルをもう少し読みやすくしたかったのです。しかし、ElementTree にはプリティプリント機能がありません。ドキュメンテーションでは、ElementTree は「インデント」メソッドを示しています。この indent メソッドを使用しようとすると、次のエラーが発生します。

インデントの使い方が間違っていますか? または、このコードにエラーがありますか? より簡単なプリティプリントの推奨事項はありますか?

履歴: 以前は、プリティ プリントを持つ PyXML を使用していました。しかし、私がpython 2.6に行ったとき、PyXMLは死にました。lxml にはプリティプリントがありますが、私のシステムにはインストールされません。そこで、すべてのコードを ElementTree を使用するように変換しました。それが機能し、必要な基本機能のほとんどを備えていることがわかっているからです。

0 投票する
2 に答える
1030 参照

python - Python/Etree: 要素とその子からテキストを取得する

次のような HTML を使用する必要があります。

問題は、子 ( as とis など) とテキスト ノード (,子の間の部分など) の両方からテキストを取得する必要があることです。

私ができることは、各子からテキストを取得して、それをまとめることです(これにより、すべてのテキストノード以外のすべてが得られます)、またはテキストノードのみを取得します( and ではありませんa) i。両方手に入れる方法はありますか?

0 投票する
2 に答える
1763 参照

python - Python/ElementTree: 名前空間なしでファイルに書き込む

ElementTree オブジェクトをディスクに書き込もうとしています。出力ファイルが次のようになることを除いて、すべてが機能します。

html:名前空間情報を取得しているため、ブラウザーはそれをレンダリングできません。

html:名前空間情報なしで etree にいくつかの html をディスクに保存させるにはどうすればよいですか?

私が書いているコードは次のとおりです。

ありがとう!

0 投票する
2 に答える
7438 参照

python - lxml.objectify.ObjectifiedElement から Python 名前空間属性を削除する

重複の可能性:
lxml を使用する場合、名前空間属性なしで XML をレンダリングできますか?

からpython属性を削除するにはどうすればよいlxml.objectify.ObjectifiedElementですか?

例:

代わりに、出力を次のようにしたいと思います。

0 投票する
2 に答える
4580 参照

python - モジュールのインポートはインタープリターでは機能しますが、スクリプトでは機能しません

私は、このサイトhttp://www.bigfatalien.com/?p=223の elementtree に関するチュートリアルに従うことを始めていたので、いつものように、インタープリターで参照スクリプトを入力して行きました。

そして、インタープリターはそのコマンドを問題なく実行し、インタープリターで「xml」を問題なく使用して、IDEはオートコンプリートでそのクラスのメンバーを表示しましたが、スクリプトにまったく同じ行を入力して実行しようとするとすぐに、それは言う

オブジェクトには属性「etree」がありません

、この行は機能します:

しかし、私が追加すると:

そして、動作しないスクリプトを実行しようとしました.IDE(pyscripter)とIDLEで同じ動作を試しました。ここで何が起こっているのか、この動作は何なのか、「Pythonにインポートする方法」のチュートリアルや本で言及されていることを読んだことはありません。明らかな何かが欠けているように感じます。

要求されたエラー メッセージで更新する

IDLE 2.6 から提供された行を実行しました

通訳者