問題タブ [sax]
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.
java - SAX 解析の早期終了?
私は XML を扱うのに比較的慣れておらず、javax.xml.parsers.SAXParser
.
問題は、必要な情報が XML ファイルの先頭近くにあり、ドキュメント全体を解析する必要がないということです。-- 関連情報が特定されたときにファイルの解析を停止する「最善の」方法は何ですか?
(これまでのところ、私が考えることができる唯一の方法は、例外をスローすることです。)
java - SAX による状態パターン
Java SAX パーサーでいくつかの xml を解析する必要があります。忙しかったので、ここで状態パターンを使用できることがわかりました。
xml ドキュメントの構造に似た、明確な状態と状態遷移が定義されています。
状態パターンを実装するには、インターフェイス (または抽象クラス) を定義する必要があります。最も明白なインターフェイス メソッドは次のとおりです。
しかし、私が遭遇する問題は、情報を返す方法です。1 つの構造の xml ドキュメントの複数のレベルからの情報が必要です。
これは xml ドキュメントの一部です
状態パターンがここに収まるという私の仮定は正しいですか? もしそうなら、ここでそれを実装する最良の方法は何ですか?
asp.net - Web サービスへの ColdFusion 呼び出しで org.xml.sax.SAXException が返される
私たちは、ASP.NET Web 開発者 1 名と ColdFusion 開発者 1 名の小さなチームです。私たちのどちらも、相手の環境を知りません。Visual Studio 2005 を使用して ASMX Web サービスを作成し、Visual Studio 2008 で Web サービスを正常に使用する Web アプリケーション プロジェクトを作成しました。しかし、現在、ColdFusion の同僚に Web サービスを使用させようとしており、解釈できない結果が得られています (ただし、ターゲットの Web サービスに到達していなくても、ColdFusion が使用する「システム レイヤー」に障害が発生していると推測されます)。
編集 - 更新: 2009 年 6 月 2 日:
CF 開発者が見たエラー メッセージの一番上の部分:
CF クライアントから見たスタック トレースは次のとおりです。
呼び出そうとしている webmethod のシグネチャは次のとおりです。
どのように進めればよいか、私たちはかなり混乱しています。明日、CF ソース コードが役立つ場合は投稿できますが、私が見た限りでは非常に単純であり、ユニット テストのこの時点では、サービスの CF 呼び出しのほとんどの引数は定数 (文字列) です。
適切な CF フォーラムのヘルプや提案をいただければ幸いです。ありがとう。
編集-更新 2009 年 6 月 2 日:
CFML コードは次のとおりです。
動作させるために、これをかなり単純化したことに注意してください。上記の引数 1 と 4 は単なる文字列定数です。引数 2 は、.Net が期待するバイト配列に対する試みです。私たちは、.Net Web サービスによって拒否されていないと信じています。むしろ、スタック トレースから、メッセージがネットワーク経由で送信される前に SAX 例外に陥っているように見えます。.Net Web サービスは、それが実行されているサーバーのアプリケーション ログまたはシステム ログに何も記録しません。
ColdFusion のリリースは、ColdFusion MX 7 です。
編集 - 2009 年 6 月 4 日:
この問題の修正は、別のより専門的なフォーラムを通じて明らかになりました。
http://forums.adobe.com/message/2009491#2009491
要するに、CF MX 7 は、IIS で「統合 Windows 認証」を使用してターゲット Web サービスが構成されている場合 (エラー メッセージには手掛かりがありません)、惨めに失敗します (私たちの Web サービスはそのようなものであり、そうする必要があります)。より多くの研究がこれにつながりました:
http://blog.tagworldwide.com/?p=16
私たちはまだこれを追い求めており、完全に実行可能な解決策を得ようとしています. つまり、ColdFusion の「管理者」は、Windows 認証を必要とする .Net Web サービスに接続できる「生成された Java スタブ」を取得するために、何らかの「特別な設定」を行う必要があります。
python - Python xml.sax を使用して要素属性リストの順序を取得するにはどうすればよいですか?
要素属性リストの順序を取得するにはどうすればよいですか? 最終処理に完全に必要というわけではありませんが、次のことを行うと便利です。
フィルターで、属性リストを不当に並べ替えない
デバッグ中に、入力に表示されるのと同じ順序でデータを出力します
これは、属性を辞書のように渡す現在の属性プロセッサです。
java - Saxの無効なXML文字の例外
StackOverFlowサイトのxmlダンプをダウンロードしました。ダンプをmysqlデータベースに転送しているときに、次のエラーが発生し続けます。例外が発生しました:文字参照「&#x10のような文字セット」は無効なXML文字です。
UltraEdit(800メガファイル)を使用してファイルから一部の文字を削除しましたが、無効な文字セットを削除してパーサーを実行すると、さらに無効な文字を識別するエラーが発生します。これを解決する方法について何か提案はありますか?
みんな乾杯、
j
c++ - 大きなファイルに効率的な軽量XMLパーサー?
潜在的に巨大なXMLファイルを解析する必要があるので、これはDOMパーサーを除外すると思います。
フットプリントのTinyXMLに匹敵する、C ++用の優れた軽量SAXパーサーはありますか?XMLの構造は非常に単純であり、名前空間やDTDなどの高度なものは必要ありません。要素、属性、cdataだけです。
Xercesについては知っていますが、50mbを超えるサイズで震えます。
ありがとう!
java - dom4j SAXReader - 解析を停止する
SAXReader を使用して XML ファイルを解析していますが、ファイルが大きすぎる場合に備えて、一定時間 (タイムアウト) 後に停止したいと考えています。大まかに言うと、ContentHandler (たとえば、startElement) で SAXException をスローしたいと考えています。
アイデアはここで説明されています: http://www.ibm.com/developerworks/xml/library/x-tipsaxstop/
ただし、dom4j の SAXReader は、「onStart」および「onEnd」イベントが例外のスローを許可しない ElementHandler を使用します。私はここで何をすべきかについて少し立ち往生しています。
助言がありますか?ありがとう。
java - SAXException:null後の予期しないファイルの終わり
多くのXMLファイルを解析するプロセスからタイトルにエラーが発生することがあります。
ファイル自体は問題ないようで、エラーを生成したのと同じファイルでプロセスを再実行すると問題なく動作します。
例外は、への呼び出しで発生しますXMLReader.parse(InputStream is)
これはパーサーのバグである可能性がありますか(私はpiccoloを使用しています)?それとも、ファイルストリームを開く方法についてですか?
マルチスレッドは含まれません。
当時、ピッコロは良いアイデアのように見えましたが、私にはそれを使用するための良い言い訳がありません。デフォルトのSAXパーサーに切り替えて、それが役立つかどうかを確認します。
更新:役に立たなかったし、一部のワークロードではPiccoloの方がかなり高速であることがわかったので、戻った。
java - SAX を使用して xml タグの正しい開始/終了位置を取得するにはどうすればよいですか?
SAX には Locator があり、現在の位置を追跡します。ただし、startElement() で呼び出すと、常に xml タグの終了位置が返されます。
タグの開始位置を取得するにはどうすればよいですか? この問題を優雅に解決する方法はありますか?
.net - C# の高度な SAX パーサー
以下は XML Arch です。行/列ごとに表示したい。
私が必要としているのは、この xml ファイルを Hashtable のように変換する必要があることです。