2009-06-10 22 views
0

鑑於下面的XML文件:防止X:出從選擇的節點中剝離元件

<?xml version="1.0" encoding="UTF-8"?> 
<doc> 
    <head> 
     <title>Introduction</title> 
     <section>section</section> 
     <channel>testing/test</channel> 
    </head> 
    <body> 
     <h1>Heading</h1> 
     <p>Lorem ipsum dolor sit amet.</p> 
     <p>Donec sed enim.</p> 
    </body> 
</doc> 

和以下JSTL片段,其中XML已經加載到變量「文件」:

<x:parse var="xml" doc="${file}"/> 
<x:out select="$xml//body"/> 

我希望能得到:

<h1>Heading</h1> 
<p>Lorem ipsum dolor sit amet.</p> 
<p>Donec sed enim.</p> 

但我越來越:

Heading Lorem ipsum dolor sit amet. Donec sed enim. 

注意,沒有標籤。如何讓JSTL在結果中留下標籤?

+0

這個問題的內容是從郵件列表中的一個問題改編而來的,這個問題從來沒有回答過。原始問題在這裏:http://article.gmane.org/gmane.comp.jakarta.taglibs.user/6801 – Sixty4Bit 2009-06-10 03:09:01

回答

1

x:outxsl:value-of非常相似,因爲它只會選擇文本節點。因此,如果你想保留XML結構,那麼我會建議使用​​並編寫一個將使用xsl:copy-of來保存標籤的樣式表。另一種選擇是編寫自己的標籤:-)。