gpt4 book ai didi

xml - 使用 JSTL 在 JSP 中解析 XML

转载 作者:行者123 更新时间:2023-12-03 16:54:30 25 4
gpt4 key购买 nike

我必须在 jsp 中解析 xml 代码(使用 JSTL)。我只想检索 <title> xml 的元素内容。

我使用 XPath 查询检索 xml 代码(来自 eXist-db),然后将其作为字符串(在 List<String> 中)传递给我的 Controller ,最后将其添加到 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>

这是 Controller (在 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 标记格式。
我究竟做错了什么?我能做些什么?

最佳答案

这应该有效。

<c:forEach items="${polls}" var="poll">
<x:parse doc="${poll}" var="output"/>
<b>Title:</b>
<x:out select="$output/poll/pollHead/title"/><br/>
</c:forEach>

关于xml - 使用 JSTL 在 JSP 中解析 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19046441/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com