我需要使用xsl从xml中删除某些元素,无论如何使用样式表我们可以从xml中删除记录吗? 我尝试了网站上给出的一些示例,但无法从xml中删除记录。 如果不可能,那么我可以在xml上应用样式表后生成新的xml文件吗?
答案 0 :(得分:1)
基本上,您必须复制要保留的所有内容,并且不要复制要删除的内容。
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes"/>
<!-- copy what you want -->
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<!-- this will override the previous copy, and since it's an empty, will delete it (replace match with an appropriate condition)-->
<xsl:template match="expression pointing to elements deleted"/>
</xsl:stylesheet>
答案 1 :(得分:0)
无论如何使用样式表我们可以从xml中删除记录吗?
XSL转换将不修改原始XML文档。
如果不可能,我们可以在之后生成新的xml文件 在xml上应用样式表?
是的,这是通常的行动方案。你是如何启动XSL转换的?