【发布时间】:2016-04-14 20:04:49
【问题描述】:
使用 xpath 1.0
我有以下 xpath
/root/Locale/Client[@id=1234]/Category/Category/Category
它是一个大型 xml 文档。
每个类别如下所示:
<Category
id="7211"
parentID="5103"
level="4"
creatorID="1"
sortOrder="2"
createDate="2014-09-12T09:19:17"
updateDate="2016-03-30T13:42:01"
nodeName="All"
urlName="all"
path="-1,1719,3292,5103,7211"
isDoc=""
nodeType="1071"
creatorName="Suhel Ahmed"
writerName="Suhel Ahmed"
writerID="1"
template="0"
nodeTypeAlias="Category">
基本上我需要在第 3 级类别中选择不同类别,其中不同性基于 nodeName。
我知道在 xpath 2.0 中我们有不同的值,但在 xpath 1 中没有。有没有办法可以用 xpath 1.0 做到这一点
翼
【问题讨论】:
-
3rd level 你的意思是 *where 属性
level等于3? -
你到底想返回什么,是不同的
nodeName属性列表还是列表Category元素?如果是后者,那么当有多个Category元素具有相同的nodeName属性值时应该返回什么? -
实际上上面的 xpath 达到了正确的级别,但该深度的实际属性级别是 6。我们可以使用后代和 {@level=6]
-
我想返回一组具有不同 nodeName 的类别节点
-
我猜可能会返回第一个唯一类别