如何循环遍历XSLT中的子节点

时间:2016-09-27 08:11:34

标签: json xml xslt

我有一个从HTTP请求返回的JSON对象,我已将其转换为XML,但是返回的对象变为array个对象。现在我使用XSL渲染返回的转换对象。

这是我将JSON转换为XML

后得到的那种对象
<Results>
<0>
    <Codes>5051946526135</Codes>
    <Images>http://www.cheaney.co.uk/images/cheaney-arthur-iii-brogue-in-original-chestnut-calf-leather-p6-1109_image.jpg</Images>
</0>
<1>
    <Codes>5051946523974</Codes>
    <Images>http://www.bagsbydiamonds.co.uk/ekmps/shops/bagsbydiamonds/images/radley-al…-black-leather-shoulder-bag-workbag-3-compartments-rrp-199-[2]-11903-p.jpg</Images>
</1>
</Results>

我一直在尝试使用<xsl:for-each>但是我的HTML中没有显示对象,所以我假设我的XSL模板有问题。

<xsl:template match="/Results">
<xsl:for-each select="*">
  <div class="col-sm-3">
    <img>
      <xsl:attribute name="src">
        <xsl:apply-templates select="Images"/> 
      </xsl:attribute>
    </img>
  </div>
  <div class="col-sm-9">
    <p> <xsl:apply-templates select="Codes"/> </p> 
  </div>
  </xsl:for-each>
</xsl:template>
</xsl:stylesheet>

我认为使用*.会选择所有子节点,但显然它对我不起作用。如果子节点与<collection></collection>相同而不是0 and 1,则会更容易。

我如何循环使用这些集合?

0 个答案:

没有答案