加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xml – xsl – 最后一个兄弟

发布时间:2020-12-16 23:13:38 所属栏目:百科 来源:网络整理
导读:我坚持与先前兄弟相关的逻辑, 试图保持XML简单. orderorderListitemidid100/id/itemiditemidid100/id/itemiditemidid111/id/itemiditemidid111/id/itemiditemidid123/id/itemiditemidid324/id/itemiditemidid244/id/itemiditemidid244/id/itemid /orderList/
我坚持与先前兄弟相关的逻辑,

试图保持XML简单.

<order>
<orderList>
<itemid><id>100</id></itemid>
<itemid><id>100</id></itemid>
<itemid><id>111</id></itemid>
<itemid><id>111</id></itemid>
<itemid><id>123</id></itemid>
<itemid><id>324</id></itemid>
<itemid><id>244</id></itemid>
<itemid><id>244</id></itemid>
 </orderList>
</order>

我试图使用下面的xsl找到每个节点的前一个兄弟.我需要使用每个循环来适应这个逻辑在更大的xsl …

<html>
  <body>
     <table border="1">
   <xsl:for-each select="order/orderList/itemid">
      <tr>
        <td>itemid</td>
        <td><xsl:value-of select="id" /> </td>
        <td> <xsl:value-of select="preceding-sibling::node()"/>   </td>
      </tr>
      </xsl:for-each>
    </table>    
  </body>
  </html>
</xsl:template>

I get these Results 

itemid 100  
itemid 100 100   
itemid 111 100 
itemid 111 100   - expecting 111
itemid 123 100   - expecting 111 etc
itemid 324 100 
itemid 244 100 
itemid 244 100

有什么帮助吗?

解决方法

在XSLT 1.0中,xsl:value-of给定节点集时,返回该节点集中第一个节点的字符串值,采用文档顺序. (XSLT 2.0返回节点集中所有节点的字符串值).

preceding-sibling :: node()返回一个节点集,其中包含节点的所有前面的兄弟节点.

如果您只想要最后一个兄弟,请使用preceding-sibling :: * [1].

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读