我想使用XSL从树中删除一些元素。
假设我有以下XML树:
<?xml version="1.0" ?>
<mydoc>
<file>
<colors>
<blue />
<red />
<green />
</colors>
<secret>
<username />
<password />
</secret>
</file>
</mydoc>
我想从中删除用户名和密码节点。我将如何处理XSL?
答案 0 :(得分:24)
您需要身份转换。 XSLT中的常见设计模式是将复制所有内容的转换。然后添加模板以删除或转换源和目标之间的不同内容。
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="node() | @*">
<xsl:copy>
<xsl:apply-templates select="node() | @*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="username|password"/> <!-- this empty template will remove them -->
</xsl:stylesheet>