XML / XSLT - 无法从XML文档中获取多个节点

时间:2014-04-03 09:56:48

标签: xml csv xslt

我是XSLT的新手,我正在尝试将以下XML文件转换为以逗号分隔的列表:

<town>Some Town</town>
<city>Some City</city>

使用以下XSLT文件:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <xsl:template match="/">
        <xsl:value-of select="town"/>,
        <xsl:value-of select="city"/>
    </xsl:template> 
</xsl:stylesheet>

使用this online transformer时出现以下错误:

Error:DOMDocument::loadXML() [<a href='domdocument.loadxml'>domdocument.loadxml</a>]: Extra content at the end of the document in Entity, line: 3

虽然,如果我从输入文件中删除<city>Some City</city>元素,那么我的输出有效,我得到以下内容:

Some Town,

我想在这里实现的目标是:

Some Town,Some City

我还有一个场景,<city>元素可能不会出现,而XML文件只会包含<town> - 我的XSLT文件是否仍然适用于这种情况?任何帮助将不胜感激,谢谢!

1 个答案:

答案 0 :(得分:1)

您应该将xml文件括在root标记中。

如果从输入文件中删除<city>Some City</city>元素,它的工作原因是因为它将<town>视为根。