2015-03-19 85 views
-1

我有下面的XML閱讀的元素,我想選擇儲蓄元素的值時,名稱元素的值是「總」如何根據其他元素值+ XSLT

請讓我知道我該怎麼爲這個特定的場景寫xslt?

</ArrayOfCategoryData> 
    <CategoryData> 
     <Category> 
     <Category> 
     <Savingsdollar>0.00</Savingsdollar> 
     <Savingspercentage>0.00</Savingspercentage> 
     <Savingsusage>0.00</Savingsusage> 
     </Category> 
     </Category> 
    <Name>Refrigeration</Name> 
    </CategoryData> 
    <CategoryData> 
    <Category> 
     <Category> 
     <Savingsdollar>999.97</Savingsdollar> 
     <Savingspercentage>0.00</Savingspercentage> 
     <Savingsusage>9,998.04</Savingsusage> 
     </Category> 
    </Category> 
    <Name>Total</Name> 
    </CategoryData> 
</ArrayOfCategoryData> 




<table cellpadding='0' cellspacing='0'> 
        <tbody> 
         <tr> 
         <td style='border-left: none; border-bottom: none; width: 51px;'> 
          $ <xsl:value-of select="//ArrayOfCategoryData/CategoryData[Name='Total']//Savingsdollar/text()"/> 
         </td> 
         <td style='border-bottom: none; width: 29px;'> 
          <xsl:value-of select="//ArrayOfCategoryData/CategoryData[Name='Total']//Savingspercentage/text()"/>% 
         </td> 
         <td style='border-bottom: none;'> 
          <xsl:value-of select="//ArrayOfCategoryData/CategoryData[Name='Total']//Savingsusage/text()"/> 
         </td> 
         </tr> 
        </tbody> 
       </table> 
+2

您的意思是xpath? '/ CategoryData [Name ='Total'] // Savings/text()' – 2015-03-19 08:44:41

+0

是的,我需要xpath或者某種方式我想從xslt中獲得這個儲蓄值,我複製了你給它的相同值並沒有顯示出值9.998.04用這個表達式 – 2015-03-19 09:05:54

+0

我已經放置了我的實際xml文件,現在請給我一個xpath或任何條件來讀取「Total」Name元素的任何儲蓄元素值。 – 2015-03-19 09:12:30

回答

1

如果我申請這個

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
version="1.0"> 

<xsl:template match="text()"/> 

<xsl:template match="/"> 
    <xsl:apply-templates/> 
</xsl:template> 

<xsl:template match="CategoryData[Name='Total']"> 
    <Total> 
     <xsl:value-of select="Category/Savings"/> 
    </Total> 
</xsl:template> 

到源XML,我得到:

<?xml version="1.0" encoding="UTF-8"?> 
<Total>9,998.04</Total> 

嘗試與周圍的XSLT一點我給你;-)

BEst regarsd, 彼得

+0

Peter,我無法在表格元素內調用,我在上面放置了xslt請幫我看如何在表格內讀取td元素 – 2015-03-19 10:39:47

+0

我對XSTL和HTML表格不是很熟悉。我建議你使用源XML,XSLT和預期輸出來打開一個新問題。最好的問候,彼得 – Peter 2015-03-19 12:23:42

相關問題