XPath:すべての子ノードに特定の値がある場合にのみ親ノードの属性をフェッチします

レオ

次のXMLドキュメントがあります。

<root>
  <description name="testing1">
    <descriptionextension name="unda">
      <type>test</type>
    </descriptionextension>
    <descriptionextension name="koppu">
      <type>test</type>
    </descriptionextension>
    <descriptionextension name="valid">
      <type>test</type>
    </descriptionextension>
  </description>
  <description name="testing2">
    <descriptionextension name="valid">
      <type>test</type>
    </descriptionextension>
    <descriptionextension name="valid">
      <type>test</type>
    </descriptionextension>
    <descriptionextension name="valid">
      <type>test</type>
    </descriptionextension>
  </description>
</root>

これはXPathクエリです。

//description/descriptionextension[contains(@name,'valid')]/../@name

すべての子の説明拡張子が「有効」である場合にのみ、説明名をフェッチすることは可能ですか?ここでは「testing2」のみを取得したいと思います。

クリスチャングリーン

1つの解決策:

//description[empty(descriptionextension[@name != 'valid'])]/@name/string()

ここにもう1つあります(他にもさまざまなものがあります):

//description[not(descriptionextension/@name != 'valid')]/@name/string()

XQueryを使用すると、次のように記述できます。

for $d in //description
where every $de in $d/descriptionextension satisfies $de/@name = 'valid'
return $d/@name/string()

ご覧のとおりdescriptiondescriptionextension子要素がない場合も受け入れられます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

xpathを使用して子ノードが存在する場合にのみ親属性xmlをフェッチする

分類Dev

属性に特定の値がある場合は、XMLノードを削除します

分類Dev

ノードに属性がある場合にのみ、Javaを使用してノードをxmlに追加します

分類Dev

すべての子ノードが選択されている場合に、親ツリーノードを選択済みとしてマークする方法

分類Dev

XSLT、親ノードの属性が別のノードの属性の値と一致する場合、子ノードの変換を実行します

分類Dev

子ノードに値がない場合は、すべての親ノードのコンテンツを削除します

分類Dev

Swingですべての子が選択されている場合にのみ、親ノードを選択します

分類Dev

特定のタグがある場合にのみレコードをフェッチします

分類Dev

PythonでのXMLの解析:子ノードに特定の属性がある場合に属性を選択する

分類Dev

XPath-1つの名前のすべての子ノードが特定の子ノードを持っているノードを選択します

分類Dev

特定の子ごとに親ノードの値を取得する

分類Dev

特定のXMLノードを選択し、その子ノードの値をフェッチするにはどうすればよいですか?

分類Dev

xpathは、子の属性値に基づいてノードを削除します

分類Dev

XSLT:親ノードの属性値を子ノードの属性値と再帰的に連結します

分類Dev

4番目の親ノードからXMLファイルのすべての親ノードに属性と値を入力します

分類Dev

XPath:特定の親の子ノードを選択します

分類Dev

XMLの特定の親ノード値とそのすべての子ノード値を使用してマップを作成します

分類Dev

ノードのすべての特定の子に属性を追加する方法

分類Dev

XPathの子ノードのdouble値に基づいて親ノードを検索する

分類Dev

UmbracoDocumentTypeAliasが等しい場合にのみ子ノードを表示します

分類Dev

jsonの子ノードを親ノードにシフトする必要があります

分類Dev

SQLServerで子ノードの値によってすべての親ノードを見つける方法

分類Dev

ノードjsで特定の親のすべての子を取得します

分類Dev

以前のノードが空の場合にObject.Selectnodes(XPath)が最初のノード値を取得する理由

分類Dev

1)特定のノードの前にあるが、2)別の特定のノードの子孫でもあるノードを選択します

分類Dev

属性値の降順でノードをフェッチするXPath

分類Dev

Xpath:1つのサブノードに特別な文字列が含まれている場合にのみノードに一致します

分類Dev

親ノードのすべての子ノードを取得します

分類Dev

XPATHの子孫値から親ノードを取得します

Related 関連記事

  1. 1

    xpathを使用して子ノードが存在する場合にのみ親属性xmlをフェッチする

  2. 2

    属性に特定の値がある場合は、XMLノードを削除します

  3. 3

    ノードに属性がある場合にのみ、Javaを使用してノードをxmlに追加します

  4. 4

    すべての子ノードが選択されている場合に、親ツリーノードを選択済みとしてマークする方法

  5. 5

    XSLT、親ノードの属性が別のノードの属性の値と一致する場合、子ノードの変換を実行します

  6. 6

    子ノードに値がない場合は、すべての親ノードのコンテンツを削除します

  7. 7

    Swingですべての子が選択されている場合にのみ、親ノードを選択します

  8. 8

    特定のタグがある場合にのみレコードをフェッチします

  9. 9

    PythonでのXMLの解析:子ノードに特定の属性がある場合に属性を選択する

  10. 10

    XPath-1つの名前のすべての子ノードが特定の子ノードを持っているノードを選択します

  11. 11

    特定の子ごとに親ノードの値を取得する

  12. 12

    特定のXMLノードを選択し、その子ノードの値をフェッチするにはどうすればよいですか?

  13. 13

    xpathは、子の属性値に基づいてノードを削除します

  14. 14

    XSLT:親ノードの属性値を子ノードの属性値と再帰的に連結します

  15. 15

    4番目の親ノードからXMLファイルのすべての親ノードに属性と値を入力します

  16. 16

    XPath:特定の親の子ノードを選択します

  17. 17

    XMLの特定の親ノード値とそのすべての子ノード値を使用してマップを作成します

  18. 18

    ノードのすべての特定の子に属性を追加する方法

  19. 19

    XPathの子ノードのdouble値に基づいて親ノードを検索する

  20. 20

    UmbracoDocumentTypeAliasが等しい場合にのみ子ノードを表示します

  21. 21

    jsonの子ノードを親ノードにシフトする必要があります

  22. 22

    SQLServerで子ノードの値によってすべての親ノードを見つける方法

  23. 23

    ノードjsで特定の親のすべての子を取得します

  24. 24

    以前のノードが空の場合にObject.Selectnodes(XPath)が最初のノード値を取得する理由

  25. 25

    1)特定のノードの前にあるが、2)別の特定のノードの子孫でもあるノードを選択します

  26. 26

    属性値の降順でノードをフェッチするXPath

  27. 27

    Xpath:1つのサブノードに特別な文字列が含まれている場合にのみノードに一致します

  28. 28

    親ノードのすべての子ノードを取得します

  29. 29

    XPATHの子孫値から親ノードを取得します

ホットタグ

アーカイブ