我有以下xml:
<main>
<text>
<naresh:parentText>
<naresh:text type="anotheroption"></naresh:text>
<naresh:text type="MyCustom1"></naresh:text>
<naresh:text type="MyCustom2"></naresh:text>
<naresh:text type="MyCustom3"></naresh:text>
<naresh:text type="MyCustom4"></naresh:text>
</ns1:parentText>
</text>
</main>
我试图使用下面的xslt显示数据,但没有运气:
<xsl:for-each select="main/text/naresh:parentText/naresh:text[starts-with(@type, 'MyCustom')]">
<xsl:call-template name="myTemplate"></xsl:call-template>
</xsl:for-each>
<xsl:template name = "myTemplate">
<xsl:value-of select="." disable-output-escaping="yes" />
</xsl:template>
有人能帮我吗?
谢谢,纳雷什。
试试这个,
XML:
<Text xmlns:naresh="www.my.web">
<naresh:parentText>
<naresh:text type="anotheroption"></naresh:text>
<naresh:text type="MyCustom1"></naresh:text>
<naresh:text type="MyCustom2"></naresh:text>
<naresh:text type="MyCustom3"></naresh:text>
<naresh:text type="MyCustom4"></naresh:text>
</naresh:parentText>
</Text>
XSLT:
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:naresh="www.my.web">
<xsl:template match="Text">
<xsl:for-each select="descendant::*[starts-with(@type, 'MyCustom')]">
<xsl:call-template name="myTemplate"></xsl:call-template>
</xsl:for-each>
</xsl:template>
<xsl:template name = "myTemplate">
<xsl:text> </xsl:text><xsl:value-of select="@type" disable-output-escaping="yes"/>
</xsl:template>
</xsl:stylesheet>
结果:
<?xml version="1.0" encoding="UTF-8"?>
MyCustom1
MyCustom2
MyCustom3
MyCustom4
注意:在发布时,请放置简单完整的XSLT代码,包括样式表头或根以及所需的结果。