問題タブ [gpath]

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

xml - groovy xml の要素のパスと値を印刷する

私は次のxmlを持っています:

以下に示すように、これらの値をパス:値として出力したいと思います。

どうすればこれを達成できますか?メソッドを試してみましたname()が、子アイテムの名前しか出力されません。要素までのパス全体を印刷したい。

これを行うには、xmlSlurper パーサーしか使用できません。

ありがとう。

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

groovy - Groovy を使用して、指定された XML ドキュメントに存在する GPath を検索します

GPath を指定したGroovyでは、パスがXMLドキュメントに存在することを確認したいと考えています。ノードの値を設定できるようにします。xmlslurperドキュメントの解析に使用できます。GPathは、スラッシュ形式で表される文字列パスです。

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

groovy - 変数を含むGroovy GPath

以下の XML コードを使用します。

def soapResponse = "

"

def inputXML = new XmlParser().parseText(soapResponse)

GPath を使用して、最初の行 (Row rowNumber="1") の下にある ID_ORDER の値を取得したいと考えています。

これは機能し、以下の変数には 144107 が入力されます。

ただし、その GPath を Excel シートから作成できる必要があります。しかし、Excel セルに ResultSet/Row[0]/ID_ORDER を入力し、上記の行を変数として実行すると:

ここでは id_order は入力されていません。Row[0] からインデックス "[0]" を取得すると、XML からすべての ID_ORDER 値が正常に取得されます。しかし、私は最初のものだけが欲しいので、インデックス 0 を使用しますが、機能しません - 値は空になります。

誰かがこれに対する解決策でチャイムを鳴らすことができることを願っています.

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

xml - Groovy XmlSlurper で属性の最大値を見つける

指定されたxml:

dtattributesの中から値を見つける必要がありrdt、それにはGroovy XmlSlurperddtを使用して最大の日付があります。与えられた例では、 になります。xml ツリー構造と深さが不明 (さまざま) であるとします。を使用してそれを行うことは可能ですか、それともコードでいくつかの反復を行う必要がありますか?2015-06-10onliner

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

groovy - 特定の子の数と式を持つgpathを使用したGroovyの検索ノード

XMLがあるとします:

level0次のすべてのノードを(GPathを使用して)取得したい:

  1. 次に、このlevel0/@t="0"ノード ( level0 ) を選択するのは、すべてlevel1子が@status="0"
  2. level0/@t!="0"最後が. _ _ 最後に言うときは、最大値を持つノードを意味します (形式に日付が含まれていると仮定します)。 level1@status="0"level1@att1@att1yyyy-mm-dd

XPathではmax() や count() などの関数を使用しますが、GPathを使用してそれを行う方法がわかりません。

ありがとう

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

groovy - Groovy GPath は多くの条件でノードを検索します

XML があるとします。

条件によってノードを見つける必要があります(多くの兄弟level1を持つことができると仮定します):level0

  1. それぞれについて、level0最大値を持つすべての 'level1' ノードを見つけます ( yyyy-mm-dd のようにatt1解釈されます)。Date
  2. これらのノードの中から、slevel1として解釈される年と月の属性に最大値を持つノードを見つけますint

与えられた例では、="113" 値を持つノードvalが見つかることを期待しています。私はGPathの専門家ではないので、正しい Groovish ソリューションを見つけるのを手伝ってください。ありがとう。

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

xml - XML 宣言なしの GPathResult から String へ

私は使用するように変換GPathResultしていますString

正常に動作しますが、XML の前に XML 宣言を取得しています

GPathResult最初にStringなしに変換するにはどうすればよい<?xml version="1.0" encoding="UTF-8"?>ですか?

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

groovy - Groovy GPath は、条件によってすべての子ノードを検索します

この XML を考えると

すべてのlevel1ノード (ノードごとに 1 つ) を、 then 、および の値でlevel0並べ替える必要があります。att1yearmonth

この例では、ノードを取得することを期待しています:

  • level1 [@id=" lev1id03 "]

  • level1 [@id=" lev1id23 "] --month = 08どれが最大かを持っているため

次のようなものを使用する必要があると思います。

残念ながら、私はGroovy / GPathの専門家ではないので、Groovish の方法を探しています。ありがとう。

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

xml - 同じ名前のオブジェクトからデータにアクセスする gpath

私はgpathを使用してxmlを解析しています。stat オブジェクトから合格/不合格の値を取得したいと考えています。私が抱えていた問題は、オブジェクトがグループ化されていることです。個別にアクセスすることはできません。

これは私が扱っているデータです。

これらのオブジェクトでグルーヴィーが見ているものをチェックするとき

*印刷 (stats.size()) は 1 を返します

印刷 (stats.stat['@pass])は 1010 を返します

統計を明確にするために、レベルの gpath オブジェクトです。

2つの異なる「統計」を単純に連結しているように見えます

ありがとう!

編集:

ここに私が今持っているコードがあります。