Xml 仅转换指定的元素,删除其余元素
我正在尝试开发一个XSLT样式表,它将通过以下方式将xml转换为另一个:Xml 仅转换指定的元素,删除其余元素,xml,xslt,copy,identity,Xml,Xslt,Copy,Identity,我正在尝试开发一个XSLT样式表,它将通过以下方式将xml转换为另一个: 默认情况下,样式表不应为每个元素显示任何内容(甚至不包括文本) 如果元素有显式模板匹配,则复制该元素、其属性及其所有子元素(及其属性) 换言之,标识只转换明确指定的元素。好吧,对于大多数情况,什么也不做,肯定是这样的: <xsl:template match="/*"> <xsl:copy> <xsl:apply-templates select="*"/> </x
换言之,标识只转换明确指定的元素。好吧,对于大多数情况,什么也不做,肯定是这样的:
<xsl:template match="/*">
<xsl:copy>
<xsl:apply-templates select="*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="*">
<xsl:apply-templates select="*"/>
</xsl:template>
然后为您想要的内容添加匹配项:
然而,这似乎是一个非常不寻常的要求。通常,您只需使用匹配项,通过xml知识导航到已知内容。谢谢Marc,您的答案是有意义的。是的,这是一个奇怪的要求,但我在这里尝试的是控制对xml文档的访问,用户只能看到管理员明确允许的元素。用户将看到原始XML格式的文件。希望这是有道理的。我仍然需要做的是在任何情况下都显示根元素(对于根元素,不显示子元素)。很抱歉,在原来的帖子中忘了提到这一点阿利特很喜欢马克。这正是我想要的。
<xsl:template match="Foo | Bar">
<xsl:copy-of select="."/>
</xsl:template>