問題タブ [woodstox]

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 に答える
6555 参照

java - JAXBはパフォーマンスのためにWoodstoxパーサーを使用しますか?

Javaリフレクションに基づいていると私が信じているネイティブパーサーを切り替えることは可能ですか?パフォーマンスの問題がいくつかあり、実装を切り替えることができるかどうか疑問に思っています。

あなたのアドバイスは大歓迎です。

追加情報:これは継承されたコードであり、Webサービスのパフォーマンスの問題を修正する必要があります。コードを変更せずにパフォーマンスを向上させたいと思っています。既存のコードは、CXF(wsdlからjava)を介して生成されたJavaオブジェクトのマーシャリングとアンマーシャリングにJAXBを使用します。

私の目標は、実装をsTaxに切り替えてから、Woodstoxライブラリを使用することです。

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

java - JBoss 6 で Woodstox を使用するように JAXB を設定するにはどうすればよいですか?

JBoss 6 に Java EE 6 JAX-RS Web サービスをデプロイしていますが、現在使用されている SAX/StAX パーサーの代わりにWoodstoxを使用したいと考えています。一部のスタック トレースには、(他のパッケージの中でも) クラスがリストされているため、次のようになります。

  • org.apache.xerces.parsers
  • org.apache.xerces.impl
  • org.apache.xerces.jaxp

... Xercesを使用していると思います。

必要な JAR (woodstox-core-asl-4.1.1.jarおよびstax2-api-3.1.1.jar) を EAR (ディレクトリにデプロイ/lib) と WAR ( ) に追加しようとしましWEB-INF/libたが、XML 解析の例外からのスタック トレースが Xerces パッケージを参照しているため、これは何の影響もないようです。

私はすでにこの質問を読みましたが、上記のように「クラスパスに追加する」オプションをすでに試したと思います。また、このスレッドに従って、次の VM 引数を追加しようとしました。

私は何を間違っていますか?(私が思うに) Xerces の代わりに JAXB に Woodstox を使用させるにはどうすればよいですか?

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

java - StAX XMLパーサーで属性イベントをキャッチする方法は?

StAX XML パーサーを使用して XML ファイルを解析しようとしています。それは私START_ELEMENTEND_DOCUMENTイベントを提供しますが、イベントは提供しませんATTRIBUTEATTRIBUTEStAX パーサーでイベントを受け取るにはどうすればよいですか?

私のXML:

私のStAX XMLパーサー:

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

xml-parsing - axis2を使用してSOAPリクエストでエンティティを受け入れる方法はありますか?

現在、エンティティに問題はありませんが、 < > ' &.他のエンティティを提供すると、axis2で次のエラーが発生します

axis2にエンティティリゾルバーを追加する方法があります

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

xml - How to load a relative system DTD into a StAX parser?

I am using woodstox to implement a StAX parser for XML files. Assume that I have a valid XML file with matching DTD somewhere in a common directory in my filesystem.

The XML references to its DTD using a relative system identifier declaration as follows:

From a validation viewpoint, everything seems fine to me. (Is it? xmllint does not complain.) However, when I am trying to parse the file with the code below, woodstox throws a java.io.FileNotFoundException since it cannot find the relative DTD file. It seems to me that the implementation tries to access the DTD file relative to the working directory instead of relative to the XML file object.

  1. Is this intentional?
  2. Is there a convenient way to convince the StAX parser to load the DTD relative to a given XML file instead of relative to the working directory?
0 投票する
1 に答える
191 参照

stax - StaxMate: プレーン XML へのアクセス

次の(実際には巨大な)XMLを処理する必要があります。

StaxMate を使用すると、これは非常に簡単です。しかし、一体どのようにして StaxMate に「記録」するように指示するのでしょうか。たとえば、各アイテムのプレーンな XML (上記の XML を参照)。そのため、アイテムを処理した後、私はそれに対して処理を行いました+文字列を持っています

どこか。

どうもありがとう、ファビアン

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

java - Java-XMLパーサーのパフォーマンス:Sun Java Streaming XMLパーサー(SJSXP)とWoodstox

最新のメモリ効率の高い高性能のJavaXML解析APIを探しています。3MBから5MBのXMLファイルを解析する必要があります。

私はこれについてグーグルで検索し、Sun Java Streaming XMLパーサー(SJSXP)について知りました。また、WoodstoxはDOMやSAXよりもはるかに高速です。どちらもStAXAPIを使用しています。*スキーマ検証はこれらのテクノロジーではサポートされていません。

AaltoXMLプロセッサもStAXAPIを実装しています。

これらのテクノロジーのパフォーマンスに関する具体的な調査結果は見つかりませんでした。

メモリ効率、高性能、使いやすさの観点から、どれが最適ですか?

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

xslt - XSLT を使用して Spring-WS 名前空間の一重引用符または二重引用符を制御する方法

ドキュメント内の単一の名前空間宣言の二重引用符を単一引用符に変更し、他のすべての名前空間宣言を二重引用符のままにしたいと考えています。これどうやってするの?

サーバーからの応答ドキュメントは次のとおりです。

<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><InquiryResponse xmlns="http://www.openuri.org/"><Header><HeaderAttr1>abcd</HeaderAttr1><HeaderAttr2>xxx</HeaderAttr2><HeaderAttr3>string</HeaderAttr3></Header><Body><InquiryResult><ResultItem1>theresulttext</ResultItem1><ResultItem2>abcd</ResultItem2><ResultItem3>0</ResultItem3></InquiryResult></Body></InquiryResponse></soapenv:Body></soapenv:Envelope>

( open:InquiryResponse には ' not " があることに注意してください) のようなものが必要です。

<?xml version="1.0" encoding="utf-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <SOAP-ENV:Body> <open:InquiryResponse xmlns:open='http://www.openuri.org/'><open:Header><open:HeaderAttr1>abcd</open:HeaderAttr1><open:HeaderAttr2>xxx</open:HeaderAttr2><open:HeaderAttr3>string</open:HeaderAttr3></open:Header><open:Body><open:InquiryResult><open:ResultItem1>theresulttext</open:ResultItem1><open:ResultItem2>abcd</open:ResultItem2><open:ResultItem3>0</open:ResultItem3></open:InquiryResult></open:Body></open:InquiryResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

名前空間プレフィックスの変更、追加の名前空間宣言、空白の修正、文字セットの変更を行うことができました。必要なのは、これらの 2 バイトを変更することだけです。

Spring WS + Woodstox + Axiom を使用して、単純な照会 Web サービスを構築しています。これは既存のサービスの代替であり、バイトごとに同一にしたいと考えています ($$ の理由)。XML を同一の型にすることはできますが、この時点では、データを検索するためにどのコンシューマーが grep または regex を使用しているかはわかりません。

これまでのところ、XSLT と PayloadTransformingInterceptor を使用してこの問題に対処しようとしています。他のオプションにも興味があります。

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

java - Woodstox パーサーを使用した「&」文字の解析エラー

Java: 1.6
ウッドストック: 4.1.4

現在、Woodstox xml パーサーを友達にしようとしています。しかし、最初は本当に難しいです:)私は小さいですか?このようなxmlを解析するときの問題:

簡単ですが、残念ながら次の例外が発生します。

これは、文字 & が原因で発生します。

質問:
この例外を取得せずに xml を正常に読み取ることは可能ですか?

事前にありがとう
ヒューバート

0 投票する
4 に答える
1625 参照

java - woodstox xml の一部をスキップ

Java: 1.6
ウッドストック: 4.1.4

解析中にxmlファイルの一部をスキップしたいだけです。その単純な xml を見てみましょう。

お父さんの要素をスキップしたいだけです。したがって、以下に示すように skipElement メソッドを使用することをお勧めします。

要素 dad の開始を見つけてスキップします。ただし、例外がスローされるため、それほど高速ではありません。これは出力です:

それは期待したものではありません。メソッド skipElement が START_ELEMENT 状態で実行されるため、これは非常に予想外です。何が起こっているのかわかりません。多分あなたはもっと知っています:)。だから私を助けてください。

よろしく
お願いします