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

Mam xml opisane powyżej. Chcę uzyskać wartość znacznika wartości (w tym przypadku "5"), używając wartości znacznika typu (np. POZIOM w tym przypadku) i zapisać go w zmiennej przy użyciu XSLT, aby można było użyć zmiennej później.Uzyskiwanie wartości z XML i przechowywanie w zmiennej przy użyciu XSLT

Każdy pomysł jak to zrobić?

Odpowiedz

8

Można zrobić to w ten sposób:

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

zastosowane do XML wejściowego pojawi się ten komunikat:

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

Pozdrowienia, Peter

+0

+1 .. działa dobrze. Dzięki Peter! –

+0

@Harshdip Singh: Nie ma za co – Peter

1

Jeśli chcesz użyj zmiennej read, aby ustawić atrybut (np. kolor rzędu), musisz użyć { $ zmienna } jak poniżej

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

następnie

<fo:table-row background-color="{$rColor}"> 
Powiązane problemy