2017-10-18 9 views
2

私は次のようなXMLメッセージを持っている:XSLTとするために、各

<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>

答えて

2

xsl:value-ofが何をするかだ。それはSTRを返します。ノードの値。それを木のままにしたい場合はxsl:copy-ofを使います。

なお、XSLT-landにはタグはありません。ノードだけが見えます。タグは、XSLTが動作する前にXMLパーサーによってノードに変換されました。

+0

ありがとうございます。これが私が探していたものです。 – Christian68

関連する問題