首页 > 解决方案 > 如何修改 xml 文件以处理这些查询?

问题描述

我有以下 xml 文件:

<collection>
   <book author = "sp">
      <name>Birdguide</name>
      <pages></pages>
   </book>
</collection>

我想回来<name>Birdguide</name>

使用这些 XPath 查询:1。//name[../preceding-sibling::*[contains(., "guides")]]

  1. //name[realname(../..) = "assembled"]

如何更改 xml 文件以使上述 xpath 查询与上面显示的 xml 文件一起使用?例如realname,它还不是 xml 文件的一部分,因为我不明白我需要将它放在 xml 文件中的哪个位置以便 xpath 查询起作用。

标签: xmlxpath

解决方案


多种解决方案之一可能是:

<collection>
    <book author = "sp">
        <assembled>
            <desc>
                <type>Type of guides</type>
            </desc>
            <details>
                <name>Birdguide</name>
            </details>
        </assembled>
    <pages></pages>
    </book>
</collection>

适用于以下 2 个 XPath :

//name[../preceding-sibling::*[contains(., "guides")]]
//name[name(../..) = "assembled"]

输出 :<name>Birdguide</name>


推荐阅读