给出以下XML文件:
<?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已加载到变量'file'中:
<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 :(得分:1)
x:out
与xsl:value-of
非常相似,因为它只会选择文本节点。因此,如果您想保留XML结构,那么我建议使用x:transform
并编写将使用xsl:copy-of
来保留标记的样式表。另一种选择是编写自己的标签: - )。