我是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文件是否仍然适用于这种情况?任何帮助将不胜感激,谢谢!
答案 0 :(得分:1)
您应该将xml文件括在root
标记中。
如果从输入文件中删除<city>Some City</city>
元素,它的工作原因是因为它将<town>
视为根。