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

xml – 如何在for-each xslt语句中选择父节点的每个子节点?

发布时间:2020-12-15 23:57:07 所属栏目:百科 来源:网络整理
导读:我想在for循环中从adviceRow元素中选择所有子节点(参见下面的xml数据). 我想避免写这样的xslt文件: xsl:for-each select="Tables/routeAdviceTable/routeAdviceRows/adviceRow" xsl:value-of select="cog" / xsl:value-of select="current" / xsl:value-of
我想在for循环中从adviceRow元素中选择所有子节点(参见下面的xml数据).

我想避免写这样的xslt文件:

<xsl:for-each select="Tables/routeAdviceTable/routeAdviceRows/adviceRow">
   <xsl:value-of select="cog" />
   <xsl:value-of select="current" />
   <xsl:value-of select="distance" />
   <xsl:value-of select="dtg" />
   etc..
</xsl:for-each>

因为一行可以有很多单元格(我有很多相似但内容不同的表格)

我可以使用嵌套for-each循环吗?就像是:

for-each advice row:
    for-each child of advicerow?

<Tables>
<routeAdviceTable>
    <routeAdviceRows>
        <adviceRow>
            <cog>313</cog>
            <current>0.3</current>
            <distance>58.8</distance>
            <dtg>1374786000000</dtg>
            <latitude>????</latitude>
            <longitude>????</longitude>
            <pressure>22.300001</pressure>
            <sea>0.2</sea>
            <sog>14.7</sog>
            <stw>???</stw>
            <swell>1.7</swell>
            <waves>1.711724324567694</waves>
            <wind>0.8</wind>
        </adviceRow>
    </routeAdviceRows>
</routeAdviceTable>

谢谢

是的,你可以为每个循环嵌套.

试试这个

<xsl:for-each select="Tables/routeAdviceTable/routeAdviceRows/adviceRow">
  <xsl:for-each select="./*">
    <!-- 
      Your code i.e.
      <td class="{name(.)}">
        <xsl:value-of select="."></xsl:value-of>
      </td>
    -->
  </xsl:for-each>
</xsl:for-each>

xpath“.”指的是当前节点(也就是“上下文节点”),“/ *”选择上下文节点的所有子节点.

(编辑:李大同)

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

    推荐文章
      热点阅读