2013-03-25 69 views
5
<?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存储变量

任何想法我该怎么做?

回答

8

你可以这样来做:

<?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> 

的问候,彼得

+0

+1 ..工作正常。谢谢彼得! – 2013-03-25 09:05:54

+0

@Harshdip Singh:不客气 – Peter 2013-03-25 09:08:02

1

如果你想使用读取变量设置您需要使用的属性(即行的颜色){ $变量}如下

<xsl:variable name="rColor" select="rowColor"/> 

然后

<fo:table-row background-color="{$rColor}">