1

我在进行 XSLT 转换时遇到了麻烦,我希望有人可以帮助我。这是我正在使用的数据的结构,

<excelFiles>
    <sheet>
        <row index='1'>
            <column_1>allowedValue</column_1>
            <column_2>US</column_2>
             <column_3>allowedValue</column_3>
        </row>
        <row index='1'>
           <column_1>notAllowedValue</column_1>
           <column_2>US</column_2>
           <column_3>allowedValue</column_3>
        </row>
  </sheet>
</excelFiles>

我要做的只是复制没有子节点包含无效数据的行。使用 XSLT 可以做到这一点吗?我只能使用 XSLT 来解决这个问题。

为清楚起见进行编辑:无效数据是节点中的唯一值是“-”字符时。

4

1 回答 1

2

从身份转换开始,然后添加一个与您想要的节点匹配并忽略它们的无操作模板:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <!-- ignore any row element that has any child element whose text value is
       a single hyphen -->
  <xsl:template match="row[* = '-']" />

  <!-- copy everything else -->
  <xsl:template match="@*|node()">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
  </xsl:template>
</xsl:stylesheet>
于 2012-08-30T16:13:43.520 回答