xsl将一个空元素替换为另一个



我有一个xml样式表,它接受多个xml文档,并对它们进行转换和组合。然而,所有xml文档都包含相同的细节,节点名称不同。在给我带来问题的一个例子中,我有一个:

<description>
some text...
<NewLine/>
some text...
<NewLine/>
some text...
</description>

我如何将其更改为:

<details>
<p>some text...</p>
<p>some text...</p>
<p>some text...</p>
</details>

使用这个XSLT,您将获得您所期望的结果,用于您提供的源XML:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:template match="description">
        <details>
            <xsl:apply-templates />
        </details>
    </xsl:template>
    <xsl:template match="description/text()">
         <p><xsl:value-of select="normalize-space(.)"/></p>
    </xsl:template>
</xsl:stylesheet>

如果您的源代码实际上更复杂,那么您将不得不调整样式表来处理它。我假设<NewLine/>实际上是一个标记(而不是换行符的表示,并且它总是空的)。

相关内容

  • 没有找到相关文章

最新更新