我需要从以下xml文件中提取一些值。
<PAIR symbol="sym1">
<value-date row="0" name="TOM" date="2014-05-15"/>
<value-date row="0" name="SP" date="2014-05-16"/>
<PAIR>
我必须这样打印:
sym1 2014-05-15
sym1 2014-05-16
我在linux中使用以下cmnd来执行此操作:
xsltproc a.xslt xmlfilename
我的a.xslt
是:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="//PAIR">
"<xsl:value-of select="@symbol"/>"
</xsl:template>
<xsl:template match="value-date">
"<xsl:value-of select="@date"/>"
</xsl:template>
</xsl:stylesheet>
但它只是提取符号。没有提取日期。
答案 0 :(得分:1)
像这样设置a.xslt
:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:strip-space elements="*"/>
<xsl:output indent="yes"/>
<xsl:template match="/">
<xsl:for-each select="PAIR/value-date">
<xsl:value-of select="../@symbol"/>
<xsl:text> </xsl:text>
<xsl:value-of select="@date"/>
<xsl:text>
</xsl:text>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>