使用样式表删除Xml元素

时间:2015-04-17 04:44:47

标签: xml xslt stylesheet

我需要使用xsl从xml中删除某些元素,无论如何使用样式表我们可以从xml中删除记录吗? 我尝试了网站上给出的一些示例,但无法从xml中删除记录。 如果不可能,那么我可以在xml上应用样式表后生成新的xml文件吗?

2 个答案:

答案 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>

更多信息:http://www.w3.org/TR/xslt#copying

答案 1 :(得分:0)

  

无论如何使用样式表我们可以从xml中删除记录吗?

XSL转换将修改原始XML文档。

  

如果不可能,我们可以在之后生成新的xml文件   在xml上应用样式表?

是的,这是通常的行动方案。你是如何启动XSL转换的?