我真是關閉此時間;)XSL不必要的下一個元素 - 讀取標籤和子標籤屬性
婁有:
- 我XSL腳本
我的XML文件(即通話腳本)
在xsl的操作的對XML的輸出(如shuold是)
我的問題是,儘管href和src值應該是相同的,但它們之間始終存在一個 圖片差異(pic3和pic4),就好像我在調用下一個pic元素一樣......但我不明白我在哪裏去做?
<xsl:for-each select="data/pics/pic">
<div>
<a>
<xsl:attribute name="href">
<xsl:value-of select="@href" />
</xsl:attribute>
<img>
<xsl:attribute name="src">
<xsl:value-of select="@src" />
</xsl:attribute>
</img>
</a>
</div>
</xsl:for-each>
這是我的XML
<data>
<pics>
<pic href="pics\pic05.jpg" src="pics\pic05.jpg"></pic>
<pic href="pics\pic04.jpg" src="pics\pic04.jpg"></pic>
<pic href="pics\pic03.jpg" src="pics\pic03.jpg"></pic>
<pic href="pics\pic02.jpg" src="pics\pic02.jpg"></pic>
<pic href="pics\pic01.jpg" src="pics\pic01.jpg"></pic>
</pics>
</data>
這應該是輸出:
<div>
<a href="pics\pic01.jpg">
<img src="pics\pic01.jpg">
</a>
</div>
<div>
<a href="pics\pic02.jpg">
<img src="pics\pic02.jpg">
</a>
</div>
<div>
<a href="pics\pic03.jpg">
<img src="pics\pic03.jpg">
</a>
</div>
<div>
<a href="pics\pic04.jpg">
<img src="pics\pic04.jpg">
</a>
</div>
<div>
<a href="pics\pic05.jpg">
<img src="pics\pic05.jpg">
</a>
</div>
爲我工作。我已將您的for-each包含在中。使用xsltproc(--version使用libxml 20706,libxslt 10126和libexslt 815)它會以相反的順序(從pic5到pic1,與源xml的順序相同)生成預期結果。嘗試創建一個最小但完整的(有效!)xsl模板來顯示您的問題。 –
rincewind
2010-09-21 15:28:06
同上rincewind說。同時發佈您從XSL樣式表中獲得的實際XML輸出。 – LarsH 2010-09-21 16:22:59
看到我的答案,報告提供的轉換實際上產生了想要的結果。 – 2010-09-21 16:37:54