簡體   English   中英

XSLT 和 for-each

[英]XSLT and for-each

我有如下的 XML 消息:

<message>
<line number="1"><li>1</li><li>2</li><li>3</li></line>
<line number="2"><li>x</li><li>y</li><li>z</li>
</line>
<line number="3"><li>a</li><li>b</li><li>c</li>
</line>
</message>

我想知道為什么下面的 XSLT 不返回<li>元素,而只返回<li></li>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="utf-8" indent="no"/>
<xsl:template match="/">
  <xsl:for-each select="/message/line">

line <xsl:value-of select="position()"/>: <xsl:value-of select="."/>

  </xsl:for-each>
</xsl:template>

</xsl:stylesheet>

例如: line 1: 123而不是line 1: <li>1</li><li>2</li><li>3</li>

這就是xsl:value-of作用:它返回節點的字符串值。 如果您希望將其保留為樹,請使用xsl:copy-of

順便說一下,XSLT-land 中沒有任何標簽。 它只看到節點。 在 XSLT 開始行動之前,XML 解析器將標記變成了節點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM