我有一个这种类型的 xml 文件
<a Text="">
<b>
<c Text=""/>
< c Text=""/>
</b>
<b>
<c/>
</b>
</a>
所以,我需要一个像
a
c
c
你能帮我写一下 xpath 表达式吗?我需要忽略 b 的出现。
我有一个这种类型的 xml 文件
<a Text="">
<b>
<c Text=""/>
< c Text=""/>
</b>
<b>
<c/>
</b>
</a>
所以,我需要一个像
a
c
c
你能帮我写一下 xpath 表达式吗?我需要忽略 b 的出现。
假设您想要选择 a 节点和 b 节点,您可以使用以下表达式:
/a | /a/b/c
这将选择所有 a 节点和(联合)所有 c 节点。请注意,它只会在文档中的指定级别上选择它们。你也可以选择类似的东西:
//a | //c
也许您可以向我们提供有关此查询目的的更多信息?
您也可以使用 XQuery,如下所示:
<div class="breadcrumb">
{
for $d in doc("test.xml")/a/b/c return
<a href="somepage.php?id={fn:data($d/@Text)}">{fn:data($d/@Text)}</a>
}
</div>
在以下输入
<a>
<b>
<c Text="Cat1" />
<c Text="Cat2" />
<c Text="Cat3" />
</b>
<b>
<c Text="Cat4" />
<c Text="Cat5" />
</b>
</a>
你会得到这个输出:
<div class="breadcrumb">
<a href="somepage.php?id=Cat1">Cat1</a>
<a href="somepage.php?id=Cat2">Cat2</a>
<a href="somepage.php?id=Cat3">Cat3</a>
<a href="somepage.php?id=Cat4">Cat4</a>
<a href="somepage.php?id=Cat5">Cat5</a>
</div>