2016-06-08 49 views
0

我尝试将我的列表元素从html转换为xml。问题是List元素包含段落元素,有时第一个注释是没有任何元素的Text。 我将复制与apply-templates命令的段落,并嵌套第一个音符,如果它是没有文字和段落元素到一个p标记。带标签和嵌套文本的转换列表元素

示例代码,我会转换:

<li>Text1 <p>Text2</p></li> 

这是结果应该是什么样子等。第一个文本注释嵌套在p标签

<li><p>Text1</p><p>Text2</p></li> 

我的xls模板我目前使用的,但

<xsl:template match="li"> 
    <li> 
    <xsl:apply-templates/> 
    </li> 
</xsl:template> 

没有人在这里有一个想法或最佳代码示例

感谢

+0

你的输入有2个文本节点,输出有3个。背后的逻辑是什么? –

回答

0

我猜你想添加另一个模板:

<xsl:template match="li/text()"> 
    <p> 
     <xsl:value-of select="."/> 
    </p> 
</xsl:template> 

除了恒等变换模板,并在你的问题所示的模板(其中BTW可以去掉,因为恒等变换模板将执行同样的动作为默认值)。

+0

谢谢 现在每个文本节点都封装在li下面的一天p 我刚刚注意到,它也可能包含像a,span或img这样的内联标记。 是否有可能将这些元素复制到p标记中。 **这是我的源代码**

  • 文本1 测试文本

    文本2

  • **这是应该的样子**
  • 文本1 测试文本

    文本2

  • 有没有办法复制这些内联元素? – Olli

    +0

    请不要在评论中发布代码。或者将其添加到您的问题中,或者询问一个新问题。 –

    +0

    你说得对。我会添加一个新问题。 – Olli