2013-03-21 58 views
1

我有數據的XML如下如何使用XSLT解析XML?

<Item1> 
    <item2> 
    <Item3>111</Item3> 
    <Item2> 
</Item11> 

要獲得價值111 項目3

<xsl:choose> 
    <xsl:value-of select="Item1/Item2/Item3"/> 
</xsl:choose> 

在XSLT。現在,我需要得到以下幾點:

<Product1> 
    <Product2> 
    <Product3 ValidYN="Y" ProducType="ABC">333</Product3> 
    <Product3 ValidYN="Y" ProducType="DEF">444</Product3> 
    <Product3 ValidYN="Y" ProducType="GHI">555</Product3> 
    <Product12> 
</Product1> 

我需要值,,基於ProducType。如何做到使用XSLT相同

+0

當你根據ProducType說「取」這些值時,你是什麼意思? XSLT的結果應該是什麼樣子? – JLRishe 2013-03-21 13:44:55

+0

使用第一個示例我能夠達到值** 111 **。現在我需要獲取值333,444,555,但xml標記與** ProducType =「ABC」,ProducType =「DEF」,ProducType =「如果需要檢查這個'ValidYN ='Y'',那麼將會得到這些值的代碼是什麼,類似於' – dany 2013-03-21 13:50:41

回答

1

選擇一個基於它的值的節點,你可以使用這樣的XPath:

/Product1/Product2/Product3[@ValidYN = 'Y' and @ProductType = 'ABC'] 
/Product1/Product2/Product3[@ValidYN = 'Y' and @ProductType = 'DEF'] 
/Product1/Product2/Product3[@ValidYN = 'Y' and @ProductType = 'GHI'] 

the pa [方括號]中的rts被稱爲「謂詞」。

+0

以及'ProducType =「ABC」'那麼?? – dany 2013-03-21 14:07:36

+0

請參閱我的修改答案。 – JLRishe 2013-03-21 14:13:43