問題タブ [jxpath]

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

java - XSLT と JXPath を使用して JavaBeans を変換することは可能ですか?

バニラ javabean があるとします。

これを別の javabean に変換したいとします。

私は現在JXPathを使用して、一方を他方に変換するのに役立てています。

このようなことを手動で行う代わりに、たとえば XSLT を JXPath とともに使用してこれらの変換を指定する方法はありますか?

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

java - JXPath を使用してリストをクエリする

JXPathを使用してクエリを実行しようとしている(テスト目的の)単純なクラスがあります。

さまざまな動物オブジェクトのリストを作成し、次のイテレータを取得したいと考えています。

  1. type='CAT' のすべての動物

  2. numLegs = 4 のすべての動物

単純なクラスは次のとおりです。

以下は、クエリ対象の動物のリストを作成するために使用している方法です。

クエリを実行しようとしている方法は次のとおりです。

この部分:

動かない。私は何を間違っていますか?/*[numLegs=4] でも動作しません。

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

java - javajsonxpth解析jsonノードにジャンプ

私は次のデータを持っており、「http://commons.apache.org/jxpath/」を使用しています。座標を直接読みたいです:[51.464426-0.382974]これは緯度です。周りを検索して、別のjsonpathもあることがわかりました。jsonxpathは私のために機能しますか?

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

scala - java.lang.Iteratorから不変のリストを作成します

一致する要素を抽出するために、ライブラリ(JXPath )を使用してBeanのグラフをクエリしています。ただし、JXPathは一致する要素のグループをjava.lang.Iteratorのインスタンスとして返すため、不変のscalaリストに変換したいと思います。イテレータを反復処理し、各反復ステップで新しい不変リストを作成するよりも簡単な方法はありますか?

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

java - jxpathを使用してリスト内のオブジェクト配列の最初の要素を取得する方法は?

したがって、基本的に、次の出力を表示するには、疑問符の場所に何を書く必要がありますか:

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

java - JXpath ライブラリを使用して xpath 式を評価する方法

XMLを解析するためにapache JXPathライブラリを使用しています。XPathの評価と同様の機能を実行するJXPathでAPIを見つけようとしています。つまり、xpath式が存在するかどうかを確認しますか? 次の行で似ています

xslt を使用する場合。XPathを使用して同様に行うことができます

ソリューションが存在しない場合、ステータスは null として返されます。現在、JXPath を使用している間、同様の行で API を理解できません。これが私のサンプルコードです

DocumentBuilderFactory dbfactory = DocumentBuilderFactory.newInstance();

DocumentBuilder bld = dbfactory.newDocumentBuilder();

ドキュメント metaDoc = bld.parse(in);

JXPathContext metaCtx = JXPathContext.newContext(metaDoc);

ノード node = (ノード)metaCtx.selectSingleNode("/resp/status/solution");

これにより、「JXPathNotFoundException: No value for xpath」がスローされます。実装固有のロジックについては、式がデータを返さない場合や存在しない場合は、if-else ブロックを配置する必要があります。

これに関する任意のポインタは高く評価されます。

ありがとう

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

java - SOAPメッセージをフィルタリングするためのJXPath

SOAP応答からノードGoodEmailの値を抽出しようとしています。何を試しても、常にorg.apache.commons.jxpath.JXPathNotFoundExceptionが発生するようです。

SOAP応答:

Javaコード:

私には、エラーコードは、間違っているのはxpathフィルターであることを示唆しているようです。私はいくつかの異なる方法を試しましたが、正しく理解できません。私は何が間違っているのですか?

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

java - POJO で XPath 言語/インターフェイスをラップする最良の方法は何ですか?

ユーザーが次のようなことができるように、単純な「XPath」のような言語を介して POJO のツリーを公開したいと思い/purchaseOrder/location[@city = 'Mountain View']ます。

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

java - JxPath:''=0の評価

'' = 0JxPath 1.3で式を評価していますが、結果はfalseになると思います。これは私のコードです:

ただし、返される結果はtrueです。Eclipse jxpathツールで同じ式を評価すると、falseになります。これは、xpath1.0セクション3.4のドキュメントに次のように記載されているため、正しいと思います。

比較するオブジェクトがどちらもノードセットではなく、演算子が=または!=の場合、オブジェクトは次のように共通の型に変換して比較することで比較されます。比較対象のオブジェクトの少なくとも1つがブール値である場合、比較対象の各オブジェクトは、ブール関数を適用するかのようにブール値に変換されます。それ以外の場合、比較対象のオブジェクトが少なくとも1つが数値である場合、比較対象の各オブジェクトは、数値関数を適用するかのように数値に変換されます。それ以外の場合は、文字列関数を適用するかのように、比較される両方のオブジェクトが文字列に変換されます。=比較は、オブジェクトが等しい場合にのみ真になります。!=比較は、オブジェクトが等しくない場合にのみ真になります。IEEE 754 [IEEE 754]に従って、数値が等しいかどうかが比較されます。両方がtrueまたは両方がfalseの場合、2つのブール値は等しくなります。2つの文字列は、UCS文字の同じシーケンスで構成されている場合にのみ等しくなります。

したがって、オブジェクトはブール値ではなく、そのうちの1つは数値であるため、JxPathが両方を数値に変換しようとすることを期待しています。それは0のためで0あり、NaNのため''であり、私はJxPathがnumber()関数でそれらをそのように変換することをテストしました。これは、仕様で定義されているように、JxPathがそれらを数値に変換しようとしないことを意味します。

これはバグですか?