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

Tôi có xml được mô tả ở trên. Tôi muốn lấy giá trị của thẻ giá trị (trong trường hợp này là '5') bằng cách sử dụng giá trị của thẻ loại, (nghĩa là LEVEL trong trường hợp này) và lưu trữ nó trong một biến bằng cách sử dụng XSLT, để tôi có thể sử dụng biến một lát sau.Lấy giá trị từ XML và lưu trữ trong biến bằng cách sử dụng XSLT

Bất kỳ ý tưởng nào về cách thực hiện?

Trả lời

8

Bạn có thể làm theo cách này:

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

Áp dụng cho XML đầu vào của bạn, bạn nhận được kết quả này:

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

Kính trọng, Peter

+0

+1 .. hoạt động tốt. Cảm ơn Peter! –

+0

@Harshdip Singh: Bạn được chào đón – Peter

1

Nếu bạn muốn sử dụng biến đọc để đặt thuộc tính (tức là màu của hàng) bạn cần sử dụng { $ biến } như sau

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

sau đó

<fo:table-row background-color="{$rColor}"> 
Các vấn đề liên quan