問題タブ [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 投票する
2 に答える
2992 参照

xml - 異なる名前空間でノードを選択するための XPath

XML から値を抽出するための適切な XPath 式を考え出すのに助けが必要です。

jaxb を使用して値を取得できますが、xpath が必要です。なぜなら、外部化したいデシジョン テーブルの種類のマッピング ルールがあるためです。 xpath アプローチが必要です。

少なくとも 4 つのスキーマから構築された xml ファイルがあります。つまり、ルートスキーマには特定のポイントに xs:any という要素があり、この場所に別のスキーマに基づく xml が注入され、これには同様の xs:any があり、別の xml が注入されて final/ を構築することを意味します。私が扱っている実際のxml。

これは、私が扱っている実際の XML 構造です (意図的に値を変更しました)。以下の xml の 2 つの Document ノードは、異なるスキーマに基づいています。

/env:Envelope/env:Body/cdtBusinessData のような最初のいくつかの要素を抽出するのに問題はありません

cdtBusinessData は、 xs:any を取るメイン スキーマの要素 です。スキーマ スニペ​​ットは次のとおりです。

この時点から、xpath クエリが期待どおりに機能しません。

つまり、 /env:Envelope/env:Body/cdtBusinessData/Document を試してみると、それが jxpath の適切なパスであると識別されません。選択したノードの xpath (xpather/firepath/XpathBuilder など) を提供するさまざまなツールで、さまざまな値が取得されますが、どれも xpath によって受け入れられません。

上記の xml に埋め込まれた 2 つのノードから値を抽出する方法を理解するのを手伝ってください。

私はかなり長い間これに苦労してきましたが、ついにここで助けを求めました. このパスを修正するのを手伝っていただければ幸いです //env:Envelope/env:Body/cdtBusinessData/ Document


アップデート

これは私があなたの提案に基づいて思いついたものです。私はjxpath 1.3を使用しています。ここで何が間違っていますか?sysouts の横にインラインでコメントがあり、取得した内容を示しています

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

java - JXPath 式で文字列の部分文字列を使用する方法

フライト番号とゲート番号を含む Java オブジェクトのリストがあります。

この質問の目的のために、私のリストには、次のフライト番号とゲート番号を持つオブジェクトが含まれています。

ゲート 10 ですべてのオブジェクトを選択したい場合は、次の JXPath 式を使用できます (これは機能します)。

私がする必要があるのは、「AA」で始まるフライト番号を持つすべてのオブジェクトをゲート 10 で選択することです。

次のことを試しましたが、どれも機能しません。

私の JXPath 式はどうあるべきですか? カスタム拡張機能を書かなくても可能ですか?

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

java - Java で複雑なオブジェクト グラフをウォークスルーし、属性へのインデックスを取得します (xpath に似ています)。

問題文:

以下のようなネストされたオブジェクトを想像してください。

会社には多くの部門があり、各部門には多くの従業員がいます。

Json 本体はライブラリによって非整列化され、上記のように Java オブジェクト Company が作成されます。

名前が「John」の従業員がいるとします。API を探しています。この API は、Employee オブジェクトのハッシュを渡すか、属性名がその属性へのパスを返します。

search(Object attributeName, Object attributeValue) つまり、search("name", "John") は company.departments[0].employees[5] を返す必要があります

同様の API を公開している優れたオープン ソース ライブラリはありますか、または複雑なオブジェクト グラフをウォークスルーするための最良の方法は何ですか?

ConstraintViolation にプロパティ パスを自動的に追加する JSR 303 Hibernate Validator は、任意のオブジェクトを介して複雑なオブジェクト グラフからプロパティ パスを取得する方法に関する動作を公開しません。

誰かが同様のニーズを経験した場合の親切なアドバイス

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

java - jxpathを使用してJAXB ajavオブジェクトからブール値を取得するには?

spring 4.1.1 と JXpath 1.3 を使用しています。ブール値を除く JXPath クエリを使用して、JAXB Java オブジェクトからすべての値を読み取ることができます。

JXpath を使用してブール値を読み取るには、特定の指示に従う必要がありますか?

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

java - JxPath と DOM パーサーを使用して XML ファイルを解析する方法

Java DOM パーサーと Apache JxPath を使用して XML ファイルを解析する方法の簡単な例が必要です。私は DOM パーサー技術を認識していますが、今はソースに JxPath を統合しようとしています。

ネットワークで検索しましたが、実際の例が見つかりません。

テストのために、私はこのxmlを持っています:

Java コード:

クラスContainer 、 DocumentContainer 、および JXPathContextについて読んだことがありますが、特定の作業例を含むいくつかのヘルプまたは Web ソースに感謝します。