我有一个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>
答案 0 :(得分:2)
使用此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/>
实际上是一个标记(而不是换行符的表示,并且它总是空的)。