我有xml如下:
<panel id="MainPanel" x="0" y="0" w="100%" h="100%" backgroundcolor="green" >
<panel id="somepanel" x="0" y="130" w="100%" h="PANEL_ALIGN" backgroundcolor="red" >
<panel id="nextpanel" x="0" y="130" w="100%" h="PANEL_ALIGN" backgroundcolor="red" >
<table id="TestPanel" x="1%" y="20" w="98%" h="PANEL_ALIGN""></table>
<table id="TestPanel" x="1%" y="20" w="98%" h="PANEL_ALIGN""></table>
<table id="TestPanel2" x="1%" y="20" w="98%" h="PANEL_ALIGN""></table>
</panel>
</panel>
预期是:
<panel id="MainPanel" x="0" y="0" w="100%" h="100%" backgroundcolor="green" >
<panel id="somepanel" x="0" y="130" w="100%" h="PANEL_ALIGN" backgroundcolor="red" >
<panel id="nextpanel" x="0" y="130" w="100%" h="PANEL_ALIGN" backgroundcolor="red" >
<table id="TestPanel" x="1%" y="20" w="98%" h="PANEL_ALIGN""></table>
<table id="TestPanel2" x="1%" y="20" w="98%" h="PANEL_ALIGN""></table>
</panel>
</panel>
我在xsl下面使用删除表节点,但它删除了所有表节点。
<?xml version="1.0" encoding="UTF-8"?>
<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="table"/>
</xsl:stylesheet>
任何人都可以提供帮助,因为我不知道xslt。
答案 0 :(得分:1)
将其添加到您的样式表作为顶级:
<xsl:key name="kTable" match="table" use="@id"/>
并替换
<xsl:template match="table"/>
与
<xsl:template match="table[generate-id() != generate-id(key('kTable', @id)[1])]"/>