从XML中获取价值并使用XSLT存储变量
问题描述:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<Result>
<resultDetails>
<resultDetailsData>
<itemProperties>
<ID>1</ID>
<type>LEVEL</type>
<value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:int">5</value>
</itemProperties>
</resultDetailsData>
</resultDetails>
</Result>
我有上面描述的xml。我想使用类型标记的值(即本例中的LEVEL)获取值标记的值(在本例中为'5'),并使用XSLT将其存储在变量中,以便我可以使用变量后来。从XML中获取价值并使用XSLT存储变量
任何想法我该怎么做?
答
你可以这样来做:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:template match="/">
<xsl:variable name="myVar" select="Result/resultDetails/resultDetailsData/itemProperties/value"/>
<varoutput>
<xsl:value-of select="$myVar"/>
</varoutput>
</xsl:template>
应用到你的输入XML你得到这样的输出:
<?xml version="1.0" encoding="UTF-8"?>
<varoutput>5</varoutput>
的问候,彼得
答
如果你想使用读取变量设置您需要使用的属性(即行的颜色){ $变量}如下
<xsl:variable name="rColor" select="rowColor"/>
然后
<fo:table-row background-color="{$rColor}">
+1 ..工作正常。谢谢彼得! – 2013-03-25 09:05:54
@Harshdip Singh:不客气 – Peter 2013-03-25 09:08:02