Xml 如何基于其他元素值+xslt读取元素
我有下面的xml,我想在Name元素值为Total时选择savings元素的值 请让我知道如何为这个特定场景编写xsltXml 如何基于其他元素值+xslt读取元素,xml,vb.net,xslt,Xml,Vb.net,Xslt,我有下面的xml,我想在Name元素值为Total时选择savings元素的值 请让我知道如何为这个特定场景编写xslt </ArrayOfCategoryData> <CategoryData> <Category> <Category> <Savingsdollar>0.00</Savingsdollar> <Savingspercentage&
</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>
如果我用这个
<?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-
最佳富豪酒店,
彼得你是说xpath/CategoryData[Name='Total']//Savings/textYes我需要xpath,或者我想从xslt中获取节省值,我复制了您给定的值,但没有用此表达式显示值9.998.04我已经放置了实际的xml文件,现在请给我一个xpath或任何条件来读取Total Name元素的any savings元素值。只需将Savings更改为Savingsusage.Joel,我尝试过一次,但无法读取svingsdollar值//ArrayOfCategoryData/CategoryData[Name='Total']//Savingsdollar/textPeter,我无法在表元素中调用,我把xslt放在上面,请帮助我如何在表中阅读td elemetsI我不太熟悉XSTL与HTML表的关系。我建议您打开一个关于源XML、XSLT和预期输出的新问题。向你问好,彼得