問題タブ [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.

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

java - Sax パーサー: HTML の無視

sax パーサーを使用して XML ファイルを解析しています。<info>正常に動作しますが、文字列に保存したい HTML が含まれているため、タグのコンテンツを解析したくありません。これを行う方法はありますか?

ありがとう

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

java - Sax の解析とエンコード

RSS および Atom ファイルを解析する際に SAX で問題が発生している連絡先がいます。彼によると、Item 要素からのテキストがアポストロフィまたはアクセント付きの文字で切り捨てられているようです。エンコーディングにも問題があるようです。

私は SAX を試してみましたが、いくつかの切り捨ても行われていますが、それ以上掘り下げることはできませんでした。誰かが以前にこれに取り組んだことがあれば、いくつかの提案をいただければ幸いです。

これは、ContentHandler で使用されているコードです。

編集: エンコーディングの問題は、Java が Unicode で動作することを知っているため、情報をバイト配列に格納することが原因である可能性があります。

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

python - DTDを使用したSaxからDomへ(python)

DTDを使用して検証済みのDomTreeが必要です(使用するにはgetElementById)。検証と解析は機能しますが、domは正しく機能しません。

SAX2DOMはDTDをdomに渡さないようです。何か忘れましたか?domがビルドされた後にDTDをロードすることは不可能であると読みました。

何か案は?

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

java - 巨大な XML ファイル: 「ページ」を読み取って毎回処理する必要がありますか?

巨大な XML ファイル 4G を処理する必要があります。私は dom4j SAX を使用しましたが、独自の DefaultElementHandler を作成しました。コード フレームワークは次のとおりです。

巨大なファイル「ページ」を「ページ」ごとに処理していると思いました。しかし、私はいつもメモリ不足エラーを抱えていたので、そうではないようです。何か重要なことを見逃していませんか?ありがとう。XMLプロセスは初めてです。

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

java - Java: StreamResult をファイルに保存する

SAXを使用してxmlにデータ変換(csvなど)を行ってから、Javaでトランスフォーマーを使用しています。結果は StreamResult にあり、この結果を file.xml に保存しようとしていますが、StreamResult をファイルに保存する方法が見つかりません。私はこれをすべて間違っていますか?

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

java - javasaxでxml属性を生成するのに問題があります

私はJavaでSAXAPIを使用してcsvをxmlに変換しています。次のような属性のない単純なxmlファイルを生成できます

しかし、idとquantityをitem要素の属性として設定する方法が見つかりません。

SAXapiが提供しているように見えるのはすべてstartElementcharacterメソッドendElementです。(これらのメソッドにパラメーターがあることは知っていますがattribute、属性を設定することはまったくできないようです)。

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

java - AndroidでのSAX解析の問題...空の要素?

Web から取得した XML ファイルを解析するために SAX を使用しています。次のようなコードでDefaultHandlerを拡張しました。

私が抱えている問題は、一連の空の要素を取得していることです。ログには次のように書かれています。

これは、ローカル ファイルを渡すだけのときはうまくいきましたparser.parseが、今では次のように Web から取得しています。

上記の(明らかに)空の結果が得られます。

私がこれまでに調べたこと:

  1. InputStreamfromを文字列に変換してresp.getEntity().getContent()ダンプしたところ、サーバーから XML を正しく取得しているように見えます。
  2. スローされる例外はありませんが、" W/ExpatReader(232): DTD handlers aren't supported." という警告が表示されます。

私が間違ってやっていること、またはこれをデバッグする方法についての他のアイデアはありますか?

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

xml - 「&」を省略した Android XML 解析

繰り返しになりますが、問題は、コードに SAX パーサーを正常に実装したにもかかわらず、動作がおかしくなっていることです。& の後のエントリをスキップして、次のエントリに移動します。これが SAX パーサーの典型的な動作なのか、それとも間違って実装されているのか知りたかっただけですか???

org.xml.sax.ContentHandler を実装し、内部に次のコーディングを提供しました...

`

`

タグ ,,,... と m を持つ要素があり、これらの情報をベクトルに取り込んでいます... これは正しいですか?

ここでも問題は、「$」などの特殊文字を解析できないことです...これらの文字をキャッチする方法はありますか??

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

java - JAXP SAX ContentHandlerからXMLを発行するための最もメモリ効率の高い方法は何ですか?

XMLの発行に関する以前の質問と同様の状況があります。ストリームにシリアル化しながら、SAXContentHandlerのデータを分析しています。リンクされた質問の解決策は、APIの観点からはまさに私が探しているものですが、XSLTプロセッサを使用したID変換が含まれるため、メモリ効率が良くないのではないかと疑っています。プログラムのメモリ消費量は、入力サイズに応じて大きくなるのではなく、制限されるようにしたいです。

StAXをSAXに適応させるためのアクロバットを行わずに、またはさらに悪いことにSAXイベントの内容を出力ストリームにコピーすることなく、ContentHandlerメソッドのパラメーターをシリアライザーに簡単に転送するにはどうすればよいですか?

編集:これが私が求めているものの最小限の例です。thingIWant与えられたOutputStreamに書き込む必要があります。前に述べたように、前の質問には適切なAPIを提供するTransformerHandlerがありますが、単純なシリアル化ではなくXSLTプロセッサーを使用しています。

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

java - エンコードの問題

Web から取得したコンテンツを解析する必要があり、特殊文字が含まれている可能性があります。この場合、コンテンツ文字列は次のようになります。

上記のコンテンツがメソッド characters() に渡されると、org.xml.sax.helpers.DefaultHandler から拡張されたクラスで次のようになります。

test &#382; test配列が「test」、「」、「test」の 3 つの配列に分割されていることに気付きました。そのため、結果となる&#382;要素値が等しく test &#382; testありません。問題を解決する方法を知っている人はいますか?

ソース文字列を再コード化する必要がありますか:

XML ハンドラ クラスに渡される前に?

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