我有一个Xml,它有多个属性,有些属性以一些常见文本开头。
<root name="Measures" >
<Member name="MAF94">
<Member name="MAF95">
<Member name="MAM1" />
<Member name="MAM2" />
</Member>
<Member name="MAF96">
<Member name="MAF97">
<Member name="MAM254" />
<Member name="MAF98">
<Member name="MAM73" />
<Member name="MAM74" />
<Member name="MAF99">
<Member name="MAM11" />
<Member name="MAM10" />
</Member>
<Member name="MAF100">
<Member name="MAM18" />
<Member name="MAM15" />
</Member>
</Member>
</Member>
</Member>
<Member name="MAF352">
<Member name="MAM1814" />
<Member name="MAM1815" />
</Member>
</Member>
</root>
如何获取与某些文本匹配的不同属性。 在上面的例子中,我想只选择以“MAM”字母开头的属性。
由于
答案 0 :(得分:0)
怎么样......
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output encoding="utf-8" indent="yes" omit-xml-declaration="yes" />
<xsl:strip-space elements="*" />
<xsl:template match="@*|text()|comment()|processing-instruction()|*" />
<xsl:template match="/*">
<xsl:copy>
<xsl:apply-templates select="//Member[substring(@name,0,3)='MAM']" />
</xsl:copy>
</xsl:template>
<xsl:template match="Member">
<xsl:copy>
<xsl:copy-of select="@*" />
</xsl:copy>
</xsl:template>
</xsl:stylesheet>