簡體   English   中英

使用 XSL 和自結束標記轉換 XML

[英]Transforming XML with XSL and self closing tags

我有以下 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>標簽中?

如果您的要求是將任何緊接在<font style="bold"/>之前的文本節點包裝在<b>元素中,您可以使用

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

如果這不是您的要求(從一個示例推斷要求是出了名的容易出錯),那么您需要更清楚地解釋它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM