基于节点名称的Xpath 1.0节点列表

克劳斯

我不想寻求帮助,但是这次我完全陷入了xpath查询的困境。

请看一下这个XML:

<doc>
  <car>
    <property id="color">
      <attribute id="black" />
      <attribute id="white" />
      <attribute id="green" />
    </property>
    <property id="size">
      <attribute id="small" />
      <attribute id="medium" />
      <attribute id="large" />
    </property>
  </car>
  <attributes>
    <color>white</color>
    <size>small</size>
  </attributes>
</doc>

应当根据属性节点名输出汽车/属性。所需的输出是:

<property id="color"><attribute id="white" /></property>
<property id="size"><attribute id="small" /></property>

xpath

/doc/car/property[@id=name(/doc/attributes/*)]/attribute[@id=/doc/attributes/*/text()]

仅返回第一个节点,因为name()函数仅返回第一个元素的名称。

谁可以帮助我找出有效的xpath(XSLT 1.0)?非常感谢您的提前帮助!

zx485

您可以使用XSLT-1.0实现此目的,但不仅可以使用XPath-1.0实现,因为在XPath-1.0中您只能返回第一项。在XSLT-1.0中这不是问题,因为您可以使用xsl:for-each循环,如下所示:

<xsl:for-each select="/doc/attributes/*">
    <property id="{/doc/car/property[@id=current()/local-name()]/@id}"><attribute id="{/doc/car/property[@id=current()/local-name()]/attribute[@id=current()/.]/@id}" /></property>
</xsl:for-each>

此代码发出以下XML:

<property id="color"><attribute id="white"/></property>
<property id="size"><attribute id="small"/></property>

可以看出,您的需求似乎有点多余,但是我想您的更大场景证明了这种方法的合理性。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

AWS EKS 0/1节点可用。1个豆荚不足

来自分类Dev

Xpath:XML中的非唯一节点名称

来自分类Dev

gluster将2 x 2节点的体积减少到1 x 2节点的体积

来自分类Dev

SimpleXML:如何使用xpath查询解析节点名称(包括点)

来自分类Dev

通过在Xpath中动态传递节点名称来获取节点值

来自分类Dev

Z1节点-基站与感测节点之间的通信

来自分类Dev

根节点斜线与根节点名称

来自分类Dev

删除链接列表的唯一节点

来自分类Dev

当列表节点名称和项目节点名称相同时,将XML映射到模型

来自分类Dev

xpath中是否有一个以/ contains开始的功能来搜索节点名称

来自分类Dev

C-如何从设备端的串行端口接收(z1节点)

来自分类Dev

PHP XPath 中相同节点名的区分

来自分类Dev

fortran:如何获取集群的节点名称

来自分类Dev

如何从QTreeView返回节点名称

来自分类Dev

嵌入式节点名称

来自分类Dev

在引导时动态设置节点名称

来自分类Dev

在ESB中更改xml节点名称

来自分类Dev

如何从QTreeView返回节点名称

来自分类Dev

数据节点名称空间ID问题

来自分类Dev

在Java Jung中添加节点名称

来自分类Dev

zookeeper 中的节点名称限制

来自分类Dev

XML:让子节点继承父节点名称空间?

来自分类Dev

添加新节点后标记节点名称

来自分类Dev

如何从d3节点层次结构创建ul-li列表?

来自分类Dev

如何从d3节点层次结构创建ul-li列表?

来自分类Dev

如何使用GROOVY控制台重命名cq5节点名称?

来自分类Dev

如何遍历kubectl的节点列表,并回显每个节点名称?

来自分类Dev

iOS 9节点消失

来自分类Dev

mysql集群中有2个数据节点且RF为1时的同一节点组

Related 相关文章

热门标签

归档