Xpath中如何通过传递子标签值获取父标签的属性值

How to get attribute value of parent tag by passing child tag value in Xpath

<?xml version="1.0" encoding="UTF-8"?>
<category tid="titleId">
      <key>titlekey</key>
      <category-abbreviation/>
      <title>main title </title>
    </category>

例如,对于上面的文档,我需要 tid 的值,即“titleId”,为了获取它,我输入了 key=titlekey。让我知道如何使用 xpath 表达式查找属性值 tid。文档可以有多个类别节点。

您可以像这样使用 XPath 表达式:
根据其子元素 key 值找到父 category 节点,然后从该父节点获取 tid 属性值。

"//category[./key[text()='titlekey']]/@tid"

您也可以使用这个表达式:

"//category[key='titlekey']/@tid"