我想在 xml 檔案的 foreach 回圈中插入一個 for 回圈,但我不能這樣做
目錄.xml:
<?xml version="1.0" encoding="UTF-8"?>
<movies>
<cd>
<title>Avatar</title>
</cd>
<cd>
<title>Captain America</title>
</cd>
<cd>
<title>Ironman</title>
</cd>
</movies>
xsl:
<?php
$loop = 2;
?>
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<table border="1">
<xsl:for-each select="movies/cd">
<tr>
<td><xsl:value-of select="title"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
結果: 阿凡達美國隊長鋼鐵俠
假設我只希望 foreach 回圈僅通過變數 $loop 的計數運行特定時間(如果 $loop=2 它將只運行 2 次)?
預期結果:
$loop =2;
**Avatar
Captain America**
uj5u.com熱心網友回復:
該xsl:for-each指令不是“回圈”。所選節點集中的每個節點都是獨立處理的,沒有退出條件。
如果您只想將處理限制在前 2cd秒,您可以簡單地執行以下操作:
XSLT 1.0
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/movies">
<html>
<body>
<table border="1">
<xsl:for-each select="cd[position() <= 2]">
<tr>
<td>
<xsl:value-of select="title"/>
</td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/531619.html
標籤:xmlxslt
