2013-03-25 77 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}"> 
相關問題