我有以下XML文件
<?xml version="1.0" encoding="utf-8"?>
<article>
<Details>
<date>Posted: 08/22/2011 </date>
<title>Hi this is Jake. I am Smart</title>
<text></text>
</Details>
</article>
我有以下XLST删除详细信息和/详细信息标记
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="Details"><xsl:apply-templates/></xsl:template>
预期输出
<?xml version="1.0" encoding="utf-8"?>
<article>
<date>Posted: 08/22/2011 </date>
<title>Hi this is Jake. I am Smart</title>
<text></text>
</article>
我试过这个。但它并没有消除 “详细信息”和“/详细信息”标记。
答案 0 :(得分:0)
此
<xsl:template match="Details"><xsl:apply-templates/></xsl:template>
将删除 <Details>
本身,但它也会处理其内容。使用
<xsl:template match="Details" />
完全删除它(标记和内容)。
(如果 输出中仍然显示<Details>
,那么您的问题就不完整了。)