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