Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用JSTL解析JSP中的XML_Xml_Xpath_Jstl - Fatal编程技术网

用JSTL解析JSP中的XML

用JSTL解析JSP中的XML,xml,xpath,jstl,Xml,Xpath,Jstl,我必须在jsp中解析xml代码(使用JSTL)。我只想检索xml的元素内容 我使用XPath查询(从eXist db)检索xml代码,然后将其作为字符串(在列表中)传递给我的控制器,最后将其添加到jsp requestScope 然而,当我在jsp中使用JSTL时,我无法解析requestScope中的xml XML代码: <poll xmlns="com.dot.bla.com/poll" xmlns:xsi="http://www.w3.org/2001/XMLSchema-insta

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

我使用XPath查询(从eXist db)检索xml代码,然后将其作为字符串(在
列表中)传递给我的控制器,最后将其添加到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(“/”)
公共字符串getAllPolls(模型)引发RepositoryError{
列表轮询=service.getAllPollsSkeleton();
model.addAttribute(“轮询”,轮询);
返回“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在一个节点中只有一个子节点,则可以跳过节点标题,而不是仅使用xPath

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

标题:

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