我必须在 jsp 中解析 xml 代码(使用 JSTL)。我只想检索<title>
xml 的元素内容。
我使用 XPath 查询检索 xml 代码(来自 eXist-db),然后将其作为字符串(在 a 中List<String>
)传递给我的控制器,最后将其添加到 jsp requestScope。
但是,当我在我的 jsp 中使用 JSTL 时,我无法解析我的 requestScope 中的 xml。
XML代码:
<poll xmlns="com.dot.bla.com/poll" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://com.dot.bla.com/poll poll.xsd">
<pollHead>
<code>1</code>
<title>This is the title</title>
</pollHead>
<pollBody>
</pollBody>
</poll>
这是控制器(在 Spring 框架内):
@RequestMapping("/")
public String getAllPolls(Model model) throws RepositoryError {
List<String> polls = service.getAllPollsSkeletons();
model.addAttribute("polls",polls);
return "common.index";
}
该jsp:
<c:forEach items="${polls}" var="poll">
<x:parse doc="${poll}" var="output"/>
<b>Title:</b>
<x:out select="$output/pollHead/title"/><br/>
</c:forEach>
这不起作用,它在我的 html 源输出中没有给我任何东西。但如果我只是写
<x:out select="$output"/>
它会给我所有的 xml 代码内容,没有任何 xml 标签格式。我究竟做错了什么?我能做些什么?