問題タブ [saxparser]
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 - SAXParserは一部の文字の解析に失敗します
私はandroid/javaでSAXParserなどを使って簡単なSAXParsingを行っています
ファイルを適切に解析できますが、特殊文字が検出されると、たとえば次のxmlを解析する場合に問題が発生します。
最後の行のPohjois-Leppävaaraでäに遭遇すると、しゃっくりします。
それが与えるエラーは次のとおりです。
SAXParserはこれらの文字を処理できると確信していますが、どこかにエンコーディングなどを設定する必要があると思いますか?
Javaコードはそうです:
android - AsyncTask と PublishProgress を使用して XML を取得する方法
XML データを解析して、オブジェクトに入れます。これにはかなり時間がかかるため、AsyncTask を使用してバックグラウンドで実行することにしました。私のコードは、次の例とほとんど同じです: AsyncTask と Timer を使用して XML を取得する方法は?
違いは、長くなるにつれて PublishProgress したいということです。進行状況を公開したいコードの関連部分:
ここまで来れば、私が初心者だと推測できたでしょう。私がやりたいことと一致する最も近い調査は次のように述べています。
http://www.mail-archive.com/android-developers@googlegroups.com/msg79275.html
はい、それはもう少し複雑です... 2 つのアプローチ:
1) AsyncTask に org.sax.ContentHandler を実装させます。このようにして、SAX コールバックは AsyncTask.publishProgress() に直接アクセスできます。
2) デリゲートを作成して、パーサーが進行状況の更新を投稿するために AsyncTask に戻るハンドルを持つようにします。
上記を試すと、次のようになります。
タイプ AsyncTask のメソッド publishProgress(Progress...) が表示されません
悲しいかな、どうすれば endElement から publicProgress を呼び出すことができますか? または、誰かがこれを適切に行う方法を教えてもらえますか? 要点をまとめると:
XML データがあります。データの読み取りは長い操作です。SAXParser を使用してデータを取得します。endElement メソッドでは、データがオブジェクトに追加され、最終的に別の場所で使用されます。ほとんどの調査は、AsyncTask を使用する必要があることを示しており、Commonsware の画面回転の良い例があるため、現在それを使用しています。問題は、進行状況をどのように更新するかです。
編集:@Cristianは非同期タスクです:
これは、この Commonsware の例のほぼ正確な複製です: https://github.com/commonsguy/cw-android/blob/master/Rotation/RotationAsync/src/com/commonsware/android/rotation/async/RotationAsync.java
ご覧のように:
saxClientsHandler = new SaxClientsHandler();
endElement メソッドが存在する場所で SaxClientHandler() を呼び出します。そこからの経過を公開しようと思います。
@Mayra、すべての saxClientHandler コードを AsyncTask に移行することを提案していますか?
java - HTTPS URL を渡すための SAXBuilder
https URLをSAXBuilderに引数として解析する方法を知っている人はいますか?
このコード セグメントは、http URL に対して機能します。しかし、https URL になると、これにより java.io.IOException: Hostname was not registered が発生します。どんな助けでも大歓迎です。
android - Android:SAXパーサーの進行状況の監視
InputStreamを解析するDefaultHandlerSAX
があります。XMLに含まれる要素の数がわからないため、それらを信頼しendElement
たり、類似したりすることはできません。(httpヘッダーから読み取った)バイト長はわかりますInputStream
が、解析プロセスの現在のバイト単位の進行状況を取得する方法が見つかりません。
解析プロセスの現在の進行状況(つまり、処理されたビット)を取得する方法はありますか?
これは、DefaultHandler
が呼び出される方法です。
android - ANDROID SAX パーサーの問題
私はJavaプログラミングが初めてなので、これについて少し助けが必要です。私はこの 1 つの問題に固執しており、これが機能するまで続行できません。
設定intを含む文字列を作成しようとしています。データを保存し、int を表示できます (サンプル コードのみ):
これで、URL を静的文字列として正しくプルする xml パーサーができました。
public static String feedUrl = String.format("http://www.freshpointmarketing.com/iphone/objects/XML/AND.php?ID=%d", 22);
よく働く...
今私の問題......
設定「int」を文字列の変数にする必要があるため、静的ではありません。
すべての静的参照を削除すると、次のエラーが発生します。
ありがとう
java - Java Sax XMLパーサー、XMLタグ内のカスタム「値」を解析しますか?
私はこれまでXMLをあまり使用したことがないので、適切な用語を知らないことが、これを行う方法を検索する際に私を傷つけているのかもしれません。以下のようなXMLファイルを解析するために使用しているコードスニペットがあります。問題は、その中のXML値のみ<Tag>Value</Tag>
を取得し、その値を取得する必要がある以下のXML値TagValue
(この場合は。)では取得しないこと"Russell Diamond"
です。
このようなカスタム値を取得する方法について、誰かが支援を提供していただければ幸いです。ありがとう。
私が使用しているスニペット:
python - JythonとSAXパーサー:64000を超えるエンティティは許可されませんか?
大きなXMLファイル(800 MB)でJythonのパーサーの簡単なテストを実行しましたxml.sax
が、次のエラーが発生しました。
この「アプリケーションによって課せられる制限」の問題は何ですか?どうすればそれをオーバーライドできますか?
Java XMLライブラリを使用しようとnu.xom
しましたが、同じエラーが発生しました。
android - Android - SAXParser を使用した汎用 XML パーサー
Android アプリケーション全体で再利用できる XML 解析クラスを作成する必要があります。これまで読んだことから、モバイル アプリケーションには SAXParser が最適です。私はこのガイドを使用しています:
http://www.jondev.net/articles/Android_XML_SAX_Parser_Example
解析したいドキュメントのタイプは、Blogger GData API からのフィードです。例は次のとおりです。
上記のようなフィードからブログ ID と投稿 ID を解析する必要があります。私が SAX で見つけたどの例からも、それらはまったく一般的ではありません。再利用可能なものを書きたいのですが、それに応じて SAXParser を変更する方法の例はありますか?
java - 1つのxmlを解析するために2つのパーサーを実装する方法は?
xml を解析するときに問題が発生しました。xml 形式は次のようになります。
xml の深さがわからない...... is を読んでいる間にこの xml を解析するために 2 つの sax パーサーを使用できますか?
android - AndroidアプリでSaxxml解析から完全なビデオURLを取得できません
私はAndroid開発に慣れていないため、AndroidアプリでSAXxml解析を使用しました。正常に動作していますが、URLで「&」記号が付いている場合は、次のすべてのURL部分を破棄するだけです。DefaultHandler
そのクラスのcharcatersメソッドのこの問題はよくわからないと思いますか?
助けてくれてありがとう。