子元素的xpath表达式
我有一个这种类型的xml文件子元素的xpath表达式,xpath,Xpath,我有一个这种类型的xml文件 <a Text=""> <b> <c Text=""/> < c Text=""/> </b> <b> <c/> </b> </a> 你能帮我写这篇文章的xpath表达式吗?我需要忽略b的出现。假设您需要选择a节点和b节点,您可以使用以下表达式: /a | /a/b/c 这将选择所有a
<a Text="">
<b>
<c Text=""/>
< c Text=""/>
</b>
<b>
<c/>
</b>
</a>
你能帮我写这篇文章的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>
{
对于文档中的$d(“test.xml”)/a/b/c返回
}
根据以下输入
<a>
<b>
<c Text="Cat1" />
<c Text="Cat2" />
<c Text="Cat3" />
</b>
<b>
<c Text="Cat4" />
<c Text="Cat5" />
</b>
</a>
您的意思是查找标记的后代吗?或者你的意思是只有一个标签,并且它包含标签?您是否可以扩展您的问题,以显示标记也可能出现在何处,如果有没有标记的标记,是否有其他类型的标记是的子标记,等等。根据您向我们展示的内容,我不会使用xpath,我只会浏览文档…/*[not(self::b)]
将选择除b
@vansimke之外的所有节点:需要选择标签和所有标签。标签只会出现在内部。没有其他c标记出现在单独的Lysite导航中。当我剪辑面包屑时,它需要显示它下面的所有页面。在这个过程中,我不希望出现标签。我很困惑,为什么第一个选项不能过滤掉外部的标签呢?我添加了一个Xquery方法,你能使用这个吗?
<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>