問題タブ [expat-parser]

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 投票する
4 に答える
562 参照

python - Pythonで多数のxmlファイルから情報を抽出する最も効率的な方法は何ですか?

いくつかのフィールドの内容を抽出する必要がある XML ファイルでいっぱい (~10 3、10 4 ) のディレクトリがあります。私はさまざまな xml パーサーをテストしましたが、コンテンツを検証する必要がない (高価な) ため、単純に xml.parsers.expat (最速のもの) を使用してファイルを 1 つずつ抽出することを考えていました。データ。

  1. より効率的な方法はありますか?(単純なテキスト マッチングは機能しません)
  2. 新しいファイル (または文字列) ごとに新しい ParserCreate() を発行する必要がありますか?それとも、すべてのファイルで同じものを再利用できますか?
  3. 注意事項はありますか?

ありがとう!

0 投票する
4 に答える
2380 参照

c - XML パーサーとは Expatの使用

これは簡単な質問のように思えるかもしれません。

しかし、Linux で実行しているアプリケーションの 1 つで使用する XML パーサーを探していました。

私はExpatを使用しており、XML ファイルを読み取って解析しました。ただし、出力は入力と同じです。

これは私が読んでいる私のファイルです:

ただし、これを通過した後は、出力とまったく同じになります。パーサーは何のためにあるのだろうか?

あともう一つだけ。エクスパットを使用しています。これはかなり使いにくそうです。私のコードは次のとおりです。これはファイルを読み取ります。しかし、私のアプリケーションは、ファイルからではなく、ソケットによって受信されるバッファを解析する必要があります。誰かが持っているこれのサンプルはありますか?

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

c - xml パーサー expat を使用して xml データを取得する

私はうまく解析できました。しかし今、必要な値を取得するのに苦労しています。要素と属性を取得できます。しかし、値を取得できません。このxmlでフレームの値を取得したいのですが、それは20です。

0 投票する
4 に答える
1482 参照

c++ - expatパーサー:メモリ消費

私はexpatパーサーを使用して約15GBのXMLファイルを解析しています。問題は、「メモリ不足」エラーがスローされ、プログラムが異常終了することです。

ボディがエクスパットパーサーで同様の問題に直面しているのか、それとも既知のバグであり、後のバージョンで修正されているのかを知りたいですか?

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

python - データを処理するPythonでのXML解析expat

Python expat を使用して XML ファイルを解析しようとしています。XML ファイルに次の行があります。

expat は開始タグと終了タグを識別しますが、 & lt; を変換します。より小さい文字とより大きい文字についても同じであるため、次のように解析します。

結果:

希望の代わりに:

望ましい結果を得たいのですが、どうすれば海外駐在員が混乱するのを防ぐことができますか?

0 投票する
4 に答える
777 参照

python - Python xml.dom と不適切な XML

Python プログラムを使用して、さまざまな HTML ページからデータを抽出しようとしています。残念ながら、これらのページの一部にはユーザーが入力したデータが含まれており、「わずかな」エラー (タグの不一致) が発生することがあります。

Python の xml.dom にエラーやそのようなものを修正させる良い方法はありますか? あるいは、エラーを含む可能性のある HTML ページからデータを抽出するより良い方法はありますか?

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

python - Yahoo BOSS Python ライブラリ、ExpatError

Yahoo BOSS マッシュアップ フレームワークをインストールしようとしましたが、提供されたサンプルの実行に問題があります。例 1、2、5、および 6 は機能しますが、3 と 4 では Expat エラーが発生します。ex3.py からの出力は次のとおりです。

Digg.com にクエリを実行しようとすると、どちらの例も失敗しているようです。ex3.py のコードで構築されるクエリは次のとおりです。

0 投票する
8 に答える
24228 参照

xml - スキーマを使用して XML 属性の順序を強制できますか?

この C++ アプリケーションは、次のような XML ファイルから構成データを読み取ります。

完全なアプリケーション構成は、これらの XML ファイル (150 万を超えるキーと値の属性のペアに変換されます) の約 2500 で構成されます。XML ファイルは、さまざまなソース/チームから取得され、スキーマに対して検証されます。ただし、<value/>ノードが次のようになる場合があります。

またはこれ:

このプロセスを高速化するために、Expatを使用して XML ドキュメントを解析しています。Expat は属性を配列として公開します - 次のように:

ProcessAttribute()これにより、「キー」を読み取り、値をどうするかを決定する すべての責任が関数に置かれます。アプリをプロファイリングすると、合計 XML 解析時間の約 40% が名前/文字列によってこれらの属性を処理していることが示されました。

属性の順序を保証/強制できれば、プロセス全体を劇的に高速化できます (まず、ProcessAttribute(). たとえば、'id' 属性が常に1 番目の属性である場合、それを直接処理できます。

W3C スキーマ仕様によると<xs:sequence>、XML スキーマで要素の順序を強制するために使用できますが、属性に対しては機能しないようです。または、間違って使用している可能性があります。

XML ドキュメントで属性の順序を強制する方法はありますか? 答えが「いいえ」の場合、実行時のパフォーマンスに大きなペナルティをもたらさない代替案を誰かが提案できますか?

0 投票する
3 に答える
1681 参照

html - Expatがそれを解析するように非準拠のHTMLを修正する方法(htmltidyが機能しない)

http://www.nfl.com/scoresから情報を取得しようとしています(特に、ゲームが終了したときに、コンピューターが記録を停止できるようにします)。HTMLは簡単にダウンロードでき、標準への準拠について次のように主張しています。

だが

  1. Expatで解析しようとすると、エラーが発生しますnot well-formed (invalid token)

  2. W3Cのオンライン検証サービスは、399のエラーと121の警告を報告します。

  3. tidyオプションを指定してLinuxシステムでHTMLtidy(ちょうど呼ばれる)を実行しようとしまし-xmlたが、tidyは56の警告と117のエラーを報告し、適切なXMLファイルを回復できません。エラーは次のようになります。

    しかし、入力を確認すると、「不明なエンティティ」は適切に引用されたURLの一部であるように見えるため、二重引用符がどこかに欠落しているかどうかはわかりません。

Firefoxとw3mの両方が妥当なものを表示するので、このようなものを解析できる ものがあることを私は知っています。Expatで解析できるように、非準拠のHTMLを修正するツールはどれですか?

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

c++ - C++ で Expat XML パーサーを使用して CDATA のエスケープされたシンボルの周囲の空白を失う

アプリケーション間でプロジェクト情報を送信するために XML を使用しています。情報の 1 つにプロジェクトの説明があります。ので、私は持っています:

または: 「テスト & スペース & いくつか & amps!」<-- いいね!

次に Expat を使用してそれを解析すると、データ ハンドラーは一度に文字列全体の一部だけを取得します。「テスト」、「&」、「前後のスペース」、次の「&」など。その後、元の文字列を再構築しようとすると、データ ハンドラーが到達しないため、& の周りのすべてのスペースが削除されます。彼らを見て。XML を書き直すと、次のようになります。

または: 「Test&spaces around&some&s!」<--悪い!

これは既存の回避策に関する既知の問題ですか? エスケープされたシンボルの周りの動作を制御するために Expat に与えることができる設定はありますか?

答えをグーグルで検索しようとした私の試みは、悲惨な失敗に終わりました。

編集:コメントの質問への回答:私はパーサーに登録する独自のハンドラーを持っています:

ハンドラーは次のように宣言されます。

そして、「s」には要素内のデータが含まれます。「スペースを含む文字列」の場合は、& などがない場合は、開始タグと終了タグの間の文字列全体です。