我有一个这种类型的xml文件
<a Text="">
<b>
<c Text=""/>
< c Text=""/>
</b>
<b>
<c/>
</b>
</a>
所以,我需要像
这样的输出 a
c
c
你能帮我写一下xpath表达式吗?我需要忽略b出现。
答案 0 :(得分:0)
您希望选择节点和b节点,您可以使用以下表达式:
/a | /a/b/c
这将选择所有节点和(联合)所有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>