問題タブ [xmlstreamreader]

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

java - xmlstream リーダー使用時のエラー

xmlstreamreader属性値やその他のデータを読み取るためにJavaで使用しています。これは xml 文字列です。


次に、属性 ID、IssueInstant、および要素 Issuer を読み取ろうとしました。上記の文字列では、3 つすべてが強調表示されています (実際には ** の間)。次のコードを使用しました。


しかし、次の出力が得られます。


どうした?

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

java - Java XMLStreamReader が不要な文字列を提供しています

ここで読んでいるいくつかのxmlがあります。

とにかく、以下のようにxmlStreamReaderで読むと

これで万事うまくいく!しかし、私が抱えている問題は、タグを読み取った後に取得する次のイベントがイベント XMLStreamConstants.CHARACHTERS であり、タグと次のタグの間のスペースである属性("\n")があることを報告することです。どうすればこれを削除できますか? 次のイベントを XMLStreamConstants.START_ELEMENT として使用したいと考えています。XML をすべて 1 行に入れることができることはわかっていますが、入力時にギャップを設けて、構造を確認できるようにしたいと考えています。また、検証するxsdがあり、これによりxmlが正常に検証されます.xsdでスペースを削除するためにできることはありますか?

ありがとう

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

java - xsd検証に失敗した無効なxmlファイルの要素を取得する方法

現在、XSDを使用してxmlを検証しています。この部分はうまく機能します。私の問題は、無効なタグ/valueの要素を取得したいということです。

私が持っていた実用的ではない考えは、「タイプ」または「エンドタグ」という単語のメッセージを調べて、その後の値を取得することですが、これは良い習慣ではないことを私は知っています!無効なタグを見ることができますが、それを手に入れることができないので、これはイライラします!

これが私が欲しい要素のいくつかの例です

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

java - Java XMLStreamReader.getText()は、XMLでエンコードされた文字をチョークしますか?

JavaのXMLStreamReaderを使用して巨大な(> 1GB)xmlファイルを解析しようとしています。getText()メソッドを使用して、ノードのコンテンツをプルします。私が持っているxmlファイルはISO-8859-1としてエンコードされており、一部の文字には特別なエンコードがあります。たとえば、ファイルのように&エンコードされ&ています。

したがって、ファイルに次のようなものが含まれている場合:

そして、getText()を使用して各ノードのコンテンツを取得しようとすると、3番目のノードは。のみを返しますJack。文字が検出されるたび&xxx;に、(同じノード内の)その後の文字は解析または返されません。

問題はどこだ?xmlファイルは正しくエンコードされていますか?Javaパーサーを正しく使用していますか?

ありがとう!

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

java - XMLStreamReader から場所を取得する

認証とルーティングに使用されるストリーミング SOAP プロキシに取り組んでいます。プロキシは、SOAP ヘッダーから資格情報とルーティング情報を読み取って検証する必要があります。また、ターゲット サービスによって消費される追加のメタデータで SOAP ヘッダーを強化する必要があります。

最初に、StAX (XMLStreamReader および XMLStreamWriter) を使用して概念実証を簡単にまとめました。問題なく動作しているように見えたので、コンセプトは証明されましたが、パフォーマンスは私が期待していたものではありませんでした. プロトタイプのプロファイリング中に、アプリケーションが文字のエンコード/デコードにかなりの量の CPU 時間を費やしていることに気付きました (30-80%)。

解決策は簡単だと思いました:

  • XMLStreamReader によって読み取られたデータを InputStream からバッファに格納します
  • SOAPヘッダの終了タグの直前のオフセットを取得(getLocation())
  • オフセットに達するまでバッファからデータを送信する
  • 追加データを送信
  • 残りのデータをバッファから送信
  • InputStream からデータを送信する

これにより、不要なエンコード/デコードがすべて回避されます。しかし驚いたことに、標準実装では getLocation() がサポートされていないことがわかりました。-1 が返されます。

廃止されたセクション - XMLStreamReader は一度に 1 バイトを読み取るときに途方もない量のメモリを消費するため、以下は実際には機能しません。「一度に 1 バイトを返し、読み取ったバイト数を追跡​​する InputStreamReader を作成すると、InputStream からオフセットを取得できることに気付きました。ただし、これは適切な解決策とは思えません。不条理な数の読み取り呼び出しが発生する可能性が高くなります。追加のデコード/エンコードよりも大きなパフォーマンス ヒットを引き起こします。」

カスタムパーサーを書くことが問題外である場合、ここで私のオプションは何ですか? 実績があり、getLocation() をサポートする標準準拠の XMLStreamReader 実装はありますか?

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

java - Java XMLStreamReader、テキストにSTART_ELEMENTが含まれている場合に要素テキストを取得する方法

次のようなXML要素がある場合:

XMLStreamReaderを使用すると、テキストを非常に簡単に取得できます。getElementText()。ただし、このような要素に遭遇した場合、テキストを取得する方法がわかりません。

それが有効なXMLであるかどうかさえわかりませんでしたが、試してみたW3Cバリデーターに合格しているようです。APIドキュメントによると、内部でgetElementText()別のイベントが発生する場合は、テキストを取得するために使用することはできません。START_ELEMENTだから...あなたは何を使うことができますか?

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

java - StAX XML 2 つの必須タグ間のすべてのコンテンツ

XMLStreamReader を使用して StAX の学習を開始すると、いくつかの問題に直面しました。タグ間のすべてのコンテンツをテキストとして取得するにはどうすればよいですか? つまり、必要なタグの名前を知っていて、それを見つけたら終了タグに移動し、それらの間にあるすべての文字列を追加する必要があります。たとえば、次のようなものがあります

だから、私は自分の文字列を次のように取得する必要があります

どうすれば入手できますか?おそらく、ソース xml で必要なブロックの開始オフセットと終了オフセットを見つけ、解析後に部分文字列を指定する必要がありますか?

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

java - XMLStreamReader エンコーディング

XML に設定された Unicode 拡張 B の中国語/日本語/韓国語の文字がいくつかあります。

しかし、streamReader.getText() を使用すると、次のように返されます。

Java の XMLStreamReader の Unicode 文字のエンコード方式を変更できるかどうかは誰にもわかりませんか?

一般的な東アジアの文字では機能しますが、Unicode 拡張 B の文字では機能しません。

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

java - XMLStreamReader/StAXSource が XML からコメントを削除するのはなぜですか?

以下のコード ( http://jax-ws.java.net/nonav/jax-ws-20-fcs/arch/com/sun/xml/ws/util/xml/StAXSource.htmlのサンプル コードに基づく)

次の結果が得られます。

つまり、xml コメントを取り除きます。StAXSource/XMLStreamReader を StreamSource に置き換えると、コメントは保持されます。

XMLStreamReader/StAXSource の組み合わせがそれらを取り除く理由と、それを防ぐ方法があるかどうかを知っている人はいますか? テストは、サードパーティの jar を使用しない 1.6 および 1.7 環境で行われたため、XMLStreamReader は

ありがとう

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

c# - 例外: ボリュームには、認識されたファイル システムが含まれていません

xml ファイルを逆シリアル化する .net 4.5 wpf アプリケーションを作成しました。不思議なことに、デプロイされたワークステーションの 1 つで、次の結果が得られました。

これは、ReadToEnd を指定した StreamReader を使用してファイルの読み込みが完了すると読み込まれる設定ファイルであるためです。

なぜこれが起こっているのでしょうか?OSがこれを開始し、hddが破損していると考えている可能性はありますか?