XML/XSL新手一模一样的html代码,所以请原谅我的无知。这是给我的XML输入:XSL获取与XML元素
<entry>
<desc>
<p>Lorem ipsum <a href="http://www.google.com">dolor</a> sit amet.</p>
<p>Lorem <strong>ipsum</strong> dolor sit amet.</p>
</desc>
</entry>
我必须写一个XSL来得到这样的结果:
<p>Lorem ipsum <a href="http://www.google.com">dolor</a> sit amet.</p>
<p>Lorem <strong>ipsum</strong> dolor sit amet.</p>
我想这会工作,在一个输入模板:
<xsl:value-of select="desc"/>
,但相反,这是上述行的输出:
Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.
我是否正确地认为我的系统上必须有其他xsl样式表才能做到这一点?在任何情况下,我都不会读,不能编辑对它们的访问,我可以只添加一种新的样式,所以要解决这个问题我用这个:
<xsl:for-each select="desc/*">
<p><xsl:value-of select="."/></p>
</xsl:for-each>
这让我,至少:
<p>Lorem ipsum dolor sit amet.</p><p>Lorem ipsum dolor sit amet.</p>
但是,正如你所看到的链接和格式已经走了再见!我无法控制那里添加的html元素。任何人都可以提出一种保存格式和所有desc元素的方法吗?该引擎只有XSL 1。提前致谢!
除非你确信''将只包含的元素(没有混合内容),我会“)递减/节点(”推荐使用''而不是,它将抓取元素和文本节点。 –
2009-09-21 19:20:19
@Ben Blank:这个例子只有元素,但你的观点是有效的。我会将其添加到我的答案中。 – Welbog 2009-09-21 19:21:16
谢谢!我明天会在工作中尝试一下,看看它是否给了我想要的输出。 – neobackup08 2009-09-21 20:16:23