問題タブ [stax]

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

java - DOMを使用してXMLにDTD情報を追加する

DOMを使用してXMLファイルを作成し、StAXを使用して別のxmlを解析して、データを選択的に書き込みます。

StaxからのDTDイベントがある時点で立ち往生していますが、それをDOMドキュメントに書き込む方法がわかりません。

rXMLEventReaderオブジェクトです

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

java - AndroidStAXカーソルパーサー-メソッドjavax.xml.stream.XMLInputFactory.newInstanceが見つかりませんでした

私はAsyncTaski-netからXMLコンテンツをダウンロードして解析するために使用しています。xmlのダウンロードと解析はdoInBackground()メソッドで行われます。「dalvikvm」で問題が発生しました。メソッドが見つかりませんでした。

LogCatのログは次のとおりです。

誰かが私を助けて、指定されたメソッドが見つからなかった理由を説明してもらえますか?

ありがとう!

0 投票する
0 に答える
1627 参照

java - STAX を使用して URL からの xml 応答を解析する

Javaコードを介してxmlリクエストを送信し、以下のコードを使用してxmlレスポンスを取得しています:

ここで、STAX を使用して xml 応答を解析する必要があるため、解析用のメソッドを作成しました。

parse() には、 reader = factory.createXMLEventReader(connection.getInputStream()); があります。

ただし、次のエラーが発生します。

誰かが私がここで間違っているところを教えてもらえますか?

ありがとう、

スワティ

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

stax - stax が開始要素タグの " を ' に置き換えるのはなぜですか

Stax でこの動作をオフにする方法がわかりません。ドキュメントを解析するとき、解析中に生の xml をキャプチャしたいと思います。

作業コードを追加するために編集されました。

これは私がサンプルとして使用するものです

生成されたスタックス

その結果、別のパーサーが出力を取り込もうとすると、整形式でないドキュメントになります。

どんな助けでも感謝します

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

rest - REST API を使用して関連エンティティを含むエンティティを取得する

クライアント (UI) とサーバー間の通信に REST API を使用しています。たとえば、次のような 1 つのタイプのリソースのページ化された GET を実装しました。

car 21 から始まる最大 10 台の車 (つまり、10 台の車の 3 ページ目) が返されます。

関連エンティティを持つエンティティを返す可能性を追加したいと考えています。この場合、多数の関連エンティティ (場合によっては数十または数百) が 1 つのメイン エンティティに存在する可能性があります。現在、これは 2 つのリクエストを使用して行われます。たとえば、最初に車で GET を実行し、次に以前に取得した車の ID をパラメーターとして使用してドアで GET を実行します。

ただし、リクエストの数を最小限に抑えるために、必要な情報を返すために 1 つのリクエストを使用したいと考えています。次の疑問が生じます。

  1. ページングをそのような機能とどのように統合する必要がありますか? 関連エンティティの数 (ドア) は、メイン エンティティ (車) のページ サイズに制限する必要がありますか? メイン エンティティと関連エンティティのページ サイズを分ける必要があるのではないでしょうか (例: 車 10 台、車ごとに最大 2 ドア)。
  2. メモリ使用量に関して、ソリューションがサーバー側でスケーラブルであることを確認するにはどうすればよいですか? 現在、エンティティを XML にシリアル化するために JAXB を使用しています。ストリーミング XML 手法 (STAX) を使用して、すべてのエンティティがメモリに読み込まれないようにすることを検討する必要がありますか?

どうもありがとう。

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

java - writeStartElement には prvoide namespaceURI がありますが、別の writeNamespace が必要なのはなぜですか?

コード:

結果は次のとおりです。

を削除するwriter.writeNamespace("ns1", "http://www.e.com/ns1");と、結果は

namespaceURIのパラメータの効果は何writeStartElement()ですか?

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

web-services - Metro StAX の実装 - 構成方法

メトロにどの StAX 実装を使用すべきかを伝える方法はありますか?

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

java - JAXB の XMLStreamReader で一度に 1 つのオブジェクト/要素のみを読み取り、スキーマを使用して XML を検証するにはどうすればよいですか?

以下のコードは、一度に 1 オブジェクトずつストリームから XML をアンマーシャリングするために正しく機能します。

しかし、unmarshaller.setSchema(schema)行のコメントを外すと、プログラムは例外をスローします:

[org.xml.sax.SAXParseException: cvc-elt.1: 要素 'Subscriber' の宣言が見つかりません。]

クラスを使用して既に XML を検証しましたjavax.xml.validation.Validatorが、私の目標は、一度に 1 要素ずつ、検証とアンマーシャリングを同時に行うことです。

これは私の現在のコードです:

私のスキーマsubscriber.xsdの抜粋:

0 投票する
7 に答える
26712 参照

java - StAX と XPath を使用した巨大な XML ファイルの読み取り

入力ファイルには、サイズが約 10 GB の XML 形式の数千のトランザクションが含まれています。要件は、ユーザー入力に基づいて各トランザクション XML を選択し、処理システムに送信することです。

ファイルのサンプルコンテンツ

(技術) ユーザーは、入力タグ名を のように指定する必要があります<txn>

このソリューションをより汎用的に提供したいと考えています。ファイルの内容は異なる場合があり、ユーザーは " //transactions/txn" のような XPath 式を指定して個々のトランザクションを選択できます。

ここで考慮しなければならない技術的な事柄はほとんどありません

  • ファイルは共有の場所または FTP にあります。
  • ファイルサイズが大きいため、ファイル全体を JVM にロードすることはできません

このシナリオで StAX パーサーを使用できますか? XPath 式を入力として受け取り、トランザクション XML を選択する必要があります。

提案を探しています。前もって感謝します。

0 投票する
5 に答える
7008 参照

java - Java w3c ドキュメントを XMLStreamReader に変換する

XMLStreamReaderアプリケーションに必要なデータが w3c ドキュメントとして含まれていることを受け入れるコード ベースの既存のコードを再利用したいと考えています。

次の例は、最小限のテスト ケースです。

予想される出力は次のようになるはずですNextTag:Groupsが、代わりに次がスローされます。

現在、Java 6 update 22 を使用しています。

詳細情報: ZephyrParserFactory#jaxpSourcetoXMLInputSourceSystemIdのソースは、DOMSource の実際のコンテンツではなく、それをコピーすることによって Source オブジェクトが変換されることを示しているようです。

更新:上記の元のテスト ケースは、sjsxp 1.0.1 をプルする JAXB 2.2.1 ライブラリを実際に含むプロジェクト クラスパスを使用して実際に実行されました。クリーンなクラスパスで実行すると、次の結果が得られます。

これは@Gary Roweの答えに適合します。