2013-03-25 13 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> 

Ho l'xml descritto sopra. Voglio ottenere il valore del tag value (in questo caso, '5') usando il valore del tag type, (cioè, LEVEL in questo caso) e memorizzarlo in una variabile usando XSLT, in modo da poter usare la variabile dopo.Ottenere valore da XML e archiviare in variabile utilizzando XSLT

Qualche idea come faccio?

risposta

8

che si possa fare in questo modo:

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

applicati sulla XML di input si ottiene questa uscita:

<?xml version="1.0" encoding="UTF-8"?> 
<varoutput>5</varoutput> 

Saluti, Peter

+0

+1 .. funziona bene. Grazie Peter! –

+0

@Harshdip Singh: prego – Peter

1

Se si desidera usa la variabile di lettura per impostare un attributo (cioè il colore di una riga) che devi usare { $ variabile } come di seguito

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

poi

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