0
我想弄清楚我的xsl文件有什么问题。这里是我的示例XML文件:XSLT输出不正确
<?xml version="1.0" encoding="UTF-8"?>
<session xmlns="http://winscp.net/schema/session/1.0" name="[email protected]" start="2015-12-30T14:55:40.156Z">
<ls>
<destination value="/test/folder" />
<files>
<file>
<filename value="folder1" />
<type value="d" />
<modification value="2015-03-04T21:09:25.000Z" />
<permissions value="rwxrw-rw-" />
</file>
<file>
<filename value="folder2" />
<type value="d" />
<modification value="2015-03-04T21:08:47.000Z" />
<permissions value="rwxrw-rw-" />
</file>
<file>
<filename value="folder3" />
<type value="d" />
<modification value="2015-03-04T21:08:57.000Z" />
<permissions value="rwxrw-rw-" />
</file>
<file>
<filename value="folder4" />
<type value="d" />
<modification value="2015-03-04T21:09:14.000Z" />
<permissions value="rwxrw-rw-" />
</file>
<file>
<filename value="file1.txt" />
<type value="-" />
<size value="113" />
<modification value="2015-12-30T14:55:07.000Z" />
<permissions value="rw-rw-rw-" />
</file>
</files>
<result success="true" />
</ls>
</session>
这是我的XSL文件:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" version="1.0" encoding="UTF-8" indent="no"/>
<xsl:template match="/">
<xsl:text>filename,filedatetime,filetype</xsl:text>
<xsl:text> </xsl:text>
<xsl:apply-templates select="file"/>
<xsl:text>-eof-</xsl:text>
</xsl:template>
<xsl:template match="file">
<xsl:text>"</xsl:text>
<xsl:value-of select="filename/@value" />
<xsl:text>","</xsl:text>
<xsl:value-of select="modification/@value" />
<xsl:text>","</xsl:text>
<xsl:value-of select="type/@value" />
<xsl:text>"</xsl:text>
<xsl:text> </xsl:text>
</xsl:template>
</xsl:stylesheet>
,我得到的输出是:
filename,filedatetime,filetype
-eof-
我似乎无法弄清楚如何获取“文件名”,“修改”和“类型”元素的值。任何帮助,将不胜感激。
感谢您的输入。我尝试添加“session/ls/files/file”,apply-template以及template select。它仍然不提供我期待的输出。 – sak
感谢您的详细解释以及正确的代码。您的解决方案对我来说非常合适欣赏你的时间。 :) – sak