使用XSL和自关闭标记转换XML

  • 本文关键字:转换 XML XSL 使用 xml xslt
  • 更新时间 :
  • 英文 :


我有以下XML

<run>
<font style="bold"/>Some Wording
</run>

我想把它转换成

<p>
<b>Some Wording</b>
</p>

我正在尝试这个模板

<xsl:template match="run/font[@style='bold']">
<p>
<b>
<xsl:value-of select="."/>
</b>
</p>
</xsl:template>

但这给出了输出

<p>
<b/>Some Wording
</p>

如何使用XSLT包装<b>标记中的措辞?

如果您的要求是在<b>元素中包装任何紧跟在<font style="bold"/>前面的文本节点,则可以使用实现

<xsl:template match="text()[preceding-sibling::*[1][self::font][@style='bold']]">
<b><xsl:value-of select="."/></b>
</xsl:template>

如果这不是你的需求(从一个例子推断需求是出了名的容易出错(,那么你需要更清楚地解释它。

最新更新