問題タブ [minidom]

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 に答える
2686 参照

python - getElementsByTagNameを使用した後、ノード属性でノードを並べ替えます

編集

辞書はここでは犯罪者です、この質問にマークされた答えは機能します、しかし辞書はそれが望むことをします。この場合、辞書の並べ替えが答えですが、属性を使用してノードを並べ替える方法がわかりました。

終わり

Pythonの質問をすることができてとてもうれしいです。これが私が持っているものです:

これはほとんど美しく機能します。'format'変数は、すでに解析されたノードであり、'data'ノードの束が含まれています。xmlは次のとおりです。

これはすべてうまく機能しますが、辞書要素を次の順序で取得します。

(値が削除されました)

xmlに表示される順序で戻ってきてほしいのですが、seq属性がこれに役立つ可能性があります。Pythonコードのこの行の後:

...これをソートするノードで実行できる関数はありますか?または、ノードを取得するときに、それらを並べ替えることを通知する何かを述べることができますか?xmlが書かれた順序で自然に取得できると思いますか?

これを自動的に魔法のように実行する機能がない場合は、ハッキングを処理できます。

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

python - XML 属性に unicode が含まれていると xml.dom.minidom.parse() が失敗する

urllib2.request を使用して Web サービスにクエリを実行し、XML を受信して​​います。Web サービスのレート制限 (1 呼び出し/秒) に違反すると、レート制限に違反したことを示す HTML が返されます。

各呼び出しの後に 2 ~ 3 秒間 time.sleep() を実行できますが、何らかの理由でレート制限に違反しています。

応答が XML または HTML であることをテストするために、xml.dom.minidom() を使用してから、html 要素の存在をテストしています。

これで作業は完了ですが、XML 属性の 1 つに XML が含まれているケースに遭遇しました。その場合、parseString() コマンドは失敗します。

この場合、列 3125 は ampersand-pound-x-9 を含む属性値テキストの一部です (Stackoverflow はユニコードを隠しています)。

xml.dom.minidom はこれを処理できますか? これ以外に、XML に別の問題があり、解析が失敗する可能性がありますか?

さらに、コミュニティにこの種の状況を処理する他の方法がある場合は、それを受け入れます。

それが役立つ場合は、レート制限に違反したときに Web サービスが返すものを次に示します。

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

python - minidom XML 子ノード値を安全に取得する

私は初めて Python と minidom を使用しており、次のような要素から値を取得したいと考えています。

これは問題なく簡単ですが、値が空であるか、要素が存在しない場合は、デフォルトにフォールバックしたいと考えています。Python でこれを行う簡単な方法が見つからなかったため、最終的に次の関数を作成しました。

これを呼び出すには、次のようなものを使用します。

これは機能し、問題なく動作しているように見えますが、それほど効率的でもエレガントでもないようです。

これを行うためのより良い方法はありますか、それとも何か問題がありますか?

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

python - どの XML 処理オプションを使用するかについて混乱している

私は Python を初めて使用し、XML 解析の作業を始めたばかりです。XML を操作するためのすべてのオプションに少し圧倒されています。私が取り組んでいる単純な問題について、経験豊富な人がアドバイス (およびおそらくコード サンプル??) を与えてくれることを願っています。

データベースを使用しない単純な Python 連絡先管理アプリケーションに取り組んでいます。各連絡先の情報は、XML を使用して個別のテキスト ファイルに保存されます。たとえば、ファイル「1234.xml」の内容が次のとおりであるとします。

例として、電話番号は 1 つしかなく、アドレス ブロックは複数あるとします。

ここで行っていることは、ファイルから XML を解析し、データに変更を加えてから、XML を更新してファイルに保存できるようにする必要があります。次の 3 種類のデータ変更が発生する可能性があるとします。

  1. 電話番号の更新など、1 つ以上のアイテムのデータを変更する

  2. 新しい住所ブロック (および新しい住所の通り/都市/州の対応するデータ) の追加

  3. 既存のアドレス ブロックの削除

私がここでやろうとしていることを考えると、これを行う特定の方法をお勧めできますか? (SAX、DOM、minidom、ElementTree、その他の何か?)あなたが提案するコードサンプルは大歓迎です。

ありがとうございました!

ロン

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

python - minidomを使用して作成されたxmlを取得するにはどうすればよいですか?

今、私がそれを印刷するとき-それはちょうど戻ってきます<?xml version="1.0" ?>、私は実際に私が作成したxml全体が欲しいです。助けてください

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

python - minidomを使用したXMLの解析

他のタグ内にのみネストされている特定のタグからデータを抽出したいXMLファイルがあります。つまり、抽出したいデータを含むタグは、XMLドキュメントの他の場所にあります。

サンプルXML:

Pythonコード(不要なタグを含むすべてのデータを取得します):

アイテムタグにのみネストされたタグのデータのみにアクセスするようにループを変更するにはどうすればよいですか?

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

python - HDI: 大きな文字列 xml をファイルに書き込みます (python xml.dom.minidom)

私は現在、大きなxmlファイルを構築xml.dom.minidomし、toprettyxml. メモリ エラーが発生したため、xml をドキュメントにストリーミングする方法はありますか。

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

python - Python CGI スクリプト (XML と mindom を使用) が予期しない結果を返す

検索エンジン API (Bing、Yahoo、Blekko) から返された XML を解析しようとしています。Blekko から返された XML (サンプル検索クエリ「sushi」の場合) は、次の形式を取ります。

必要な検索結果データを抽出するための Python コードのセクションは次のとおりです。

このコードは、返された各検索結果のページ タイトルを抽出しませんが、残りの情報を抽出します。

さらに、コードがない場合:

スクリプトのどこかで、最初の検索結果のタイトルがページ タイトルとして使用されます (つまり、ページはブラウザに「Sushi - Wikipedia」というタイトルで表示されます)。ページ タイトルがある場合でも、コードは検索結果からページ タイトルを抽出しません。

同じコード (タグ名が異なるなど) は、Yahoo 検索 API で同じ問題を抱えていますが、Bing 検索 API では問題なく動作します。

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

python - Python CGIスクリプト(XMLとmindomを使用)はnullデータを抽出できません

コードのこの部分は、Webページの画面に出力するためにXMLを解析します。

ただし、null XMLタグのセットが検出された場合、つまりページにページタイトルまたは説明がない場合、スクリプトは失敗し、エラーメッセージが表示されます。

解析されるXMLのスニペット:

次のようなtry/exceptステートメントの使用に失敗しました。

任意の提案をいただければ幸いです。

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

python - Pythonのxml欠落要素

システムは python 2.7.2 で dom パーサーを使用します。目標は、.db ファイルを抽出し、SQL サーバーで使用することです。現在、sqlite3 ライブラリに問題はありません。XMLファイルの解析中に欠落している要素を処理する方法について、同様の質問/回答を読みましたが、それでも解決策がわかりませんでした。xml には 15000 以上の要素があります。xml の基本的なコードは次のとおりです。

3 番目の要素のように、いくつかの要素にはノードがありません。これにより、要素番号に矛盾が生じます。すなわち

モジュールを実行した後:

この問題により、要素の順序付けに問題が発生します。table を印刷している間、パーサーは欠落している要素を渡し、要素の順序が混同されます。単純な while ループを使用して、値をテーブルに挿入します。

他にどうすればこれを行うことができますか? どんな助けでも大歓迎です。

ユスフ