XPATH - 如何根据其他标记的值选择1个标记的值

jun*_*sal 0 java xpath

这是XML.现在我想选择具有/ Home/Coverages/Coverage/Identifier/CoverageName ='WorkersCompensation'作为值的所有/ Home/Identifier/HomeNumber值.我在这个论坛上尝试过类似问题的答案,但似乎没有用.我需要帮助构建XPATH表达式.

<Home>
        <Identifier>
          <HomeNumber>1</HomeNumber>
        </Identifier>
 <Coverages>
          <Coverage busStatus="Active">
            <Identifier>
              <CoverageName>PersonalLiability</CoverageName>
            </Identifier>
          </Coverage>
          <Coverage>
            <Identifier>
              <CoverageName>WorkersCompensation</CoverageName>
            </Identifier>
            <Detail>
              <Name>NumberOfInServants</Name>
              <Value>
                <Integer>1</Integer>
              </Value>
            </Detail>
          </Coverage>
         <covergaes>
</Home>
<Home>
.
.
.
</Home>
Run Code Online (Sandbox Code Playgroud)

Dav*_*ave 5

尝试

/*/Home[Coverages/Coverage/Identifier/CoverageName='WorkersCompensation']/Identifier/HomeNumber
Run Code Online (Sandbox Code Playgroud)

我不确定它是否有效,我没有时间去测试它.如果它有效,我会发布一个解释,为什么我稍后给出了这个答案.