Xml 如何使XSL行不可见?

Xml 如何使XSL行不可见?,xml,vb.net,xslt,xpath,Xml,Vb.net,Xslt,Xpath,我们有以下XSL行 <w:tr wsp:rsidR="00EC796A" wsp:rsidRPr="00E83E5E" wsp:rsidTr="00CA49A2"> <w:tc> <w:p wsp:rsidR="00EC796A" wsp:rsidRPr="00E83E5E" wsp:rsidRDefault="007D26AB" wsp:rsidP="00CA49A2"> <w:r wsp:rsidRPr

我们有以下XSL行

<w:tr wsp:rsidR="00EC796A" wsp:rsidRPr="00E83E5E" wsp:rsidTr="00CA49A2">
    <w:tc>
        <w:p wsp:rsidR="00EC796A" wsp:rsidRPr="00E83E5E" wsp:rsidRDefault="007D26AB" wsp:rsidP="00CA49A2">
            <w:r wsp:rsidRPr="00E83E5E">
                <w:t>
                    <xsl:text>EXPORT PRODUCTS</xsl:text>
                </w:t>
            </w:r>
        </w:p>
    </w:tc>
    <w:tc>
        <xsl:apply-templates select="ns0:Export_Products" />
    </w:tc>
</w:tr>
所以我认为,让它隐形应该是在运行时。或者有另一种解决方案

通常word文件如下所示:

如果这些行没有值,我们希望它们不会出现


实际上,我们可以通过更改模板来实现这一点,但这样我们就必须创建数千个模板,因为有很多可能性。

您可以使用
xsl:if
,例如

<xsl:if test="ns0:Product">
    <xsl:text>EXPORT PRODUCTS</xsl:text>
</xsl:if>

出口产品

您能否举例说明,当行被设置为不可见时,您希望输出是什么样子。看起来您实际上是在这里输出WordprocessingML,所以严格来说,它不是“XSL行”,而是Word 2003 XML文档中的一行。谢谢@TimC我编辑了这个问题,但我不确定它是否是您想要的,因为我对XSLT不太熟悉……在编写任何XSLT之前,您必须知道您希望输出是什么样子。在您的例子中,您正在输出Word使用的XML。假设您使用记事本手动创建XML。那个XML是什么样子的?谢谢
Dim myXslTransform As New XslCompiledTransform(False)
myXslTransform.Load(GetType(TemplateForExport))
myXslTransform.Transform(xmlFilePath, wordFilePath)
<xsl:if test="ns0:Product">
    <xsl:text>EXPORT PRODUCTS</xsl:text>
</xsl:if>