2015-03-19 87 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

相关问题