我得到了这个简单的XML文档:
<?xml version="1.0"?>
<document>
<category>
<id>20504 </id>
<title>ADSL iranga</title>
<parent>Kompiuterinio tinklo</parent>
</category>
<category>
<id>20902</id>
<title>Akumuliatoriai</title>
<parent>Baterijos akumuliatoriai</parent>
</category>
</document>
这个xsl模板:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" encoding="utf-8"/>
<xsl:strip-space elements="*" />
<xsl:template match="/category">
<xsl:value-of select="id" /><xsl:text>,</xsl:text>
<xsl:value-of select="title" /><xsl:text>,</xsl:text>
</xsl:template>
</xsl:stylesheet>
我想得到这个简单的输出:
id,title
id,title
id,title
<...>
但是,我没有得到我预期的分隔符“,” 我是以错误的方式使用xsl:text吗?
我正在使用xsltproc进行转换。
答案 0 :(得分:2)
category
不是输入XML的根元素 - 因此您的模板不匹配,您看到的输出由内置模板规则生成。
您需要更改:
<xsl:template match="/category">
为:
<xsl:template match="category">
我想你也想改变第二个:
<xsl:text>,</xsl:text>
为:
<xsl:text> </xsl:text>