xml – XSL 1.0如何一次将div标签添加到两个元素/文本中

前端之家收集整理的这篇文章主要介绍了xml – XSL 1.0如何一次将div标签添加到两个元素/文本中前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个与此类似的 XML

<a>
  <b>text1</b>
  <b>text2</b>
  <b>text3</b>
   .....
   ....
</a>

这是所需的输出

<div>text1 text2</div>
<div>text3 text4</div>

使用xsl foreach可以轻松地为所有文本添加包装div或为每个文本添加单独的div.如何在一次需要为2个文本添加div的情况下完成上述要求?

解决方法

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="xml" indent="yes"/>

  <xsl:template match="/">
    <xsl:apply-templates select="a/b[position() mod 2 = 1]"/>
  </xsl:template>

  <xsl:template match="b">
    <div>
      <xsl:value-of select="concat(.,' ',following-sibling::b)"/>
    </div>
  </xsl:template>

</xsl:stylesheet>

猜你在找的XML相关文章