【问题标题】:How can view xml nodes by id?如何通过id查看xml节点?
【发布时间】:2013-08-17 05:27:12
【问题描述】:

我有这个 xml 文件:

<?xml version="1.0" encoding="UTF-8"?>
<product name="civil">
<day>Moonday</day>
    <dataseries>
    <data timepoint="3h"> 03:00 </data>
    <data timepoint="6h"> 06:00 </data>
    <data timepoint="9h"> 09:00 </data>
    <data timepoint="12h"> 12:00 </data>
    <data timepoint="15h"> 15:00 </data>
    <data timepoint="18h"> 18:00 </data>
    <data timepoint="21h"> 21:00 </data>
    <data timepoint="24h"> 00:00 </data>
    </dataseries>

如何显示交替节点?这样:3h, 9h, 15h... 像这样的:

  <xsl:for-each select="product/dataseries/data" timepoint="@6h">

但是这段代码是错误的。

【问题讨论】:

    标签: xml xslt foreach


    【解决方案1】:

    尝试关注

      <xsl:for-each select="product/dataseries/data[@timepoint='6h']>
    

    在方括号中可能还有更复杂的条件(例如,使用或运算符、一些算法等)来选择您需要的节点。

    【讨论】:

    • 是的,现在可以了,谢谢。我对这个 xml 文件还有另一个问题:我以这种方式创建了一个菜单 ul 和 li: info1、info2 和 info3 的值为零,然后我有一个图像“000.png”但没有出现。
    • 注意上下文 - 在您的 for-each 中,您正在处理“数据”元素。 &lt;xsl:value-of select="info1" /&gt; 返回实际处理的位于&lt;data&gt; 元素下的元素&lt;info1&gt; 的字符串值。但是没有此名称的元素(在您的示例 xml 中),因此它返回空字符串。
    猜你喜欢
    • 2013-11-16
    • 2013-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多