我正在尝试在x:forEach中使用c:import和x:parse标记。

这可能吗?

如果没有,根据另一个xml源的解析数据导入多个xml源的另一种方法是什么?

<x:forEach select="$sitemap/pages/page" varStatus="status">
    <x:set var="location_id" select="@id"/>
    <c:import url="xml/pages/page${location_id}.xml" var="location_xml_var"/>
    <x:parse var="location_xml" xml="${location_xml_var}" />

    <x:out select="$location_xml/pages/page/@name" escapeXml="false"/>

</x:forEach>

这导致

javax.servlet.jsp.JspException: org.xml.sax.SAXParseException: Content is not allowed in prolog.

错误,在x:解析。

有帮助吗?

解决方案

似乎这不起作用。

我最终循环遍历sitemap xml并将id输出到新的

<c:set>

变量,然后使用

循环
<c:forEach> and <c:import>'ing

我需要的每个XML文件。所以核心forEach将允许这样,xml forEach将不会。

我意识到这可能是解决这个问题的错误方法,但我还没有对这个问题做出任何回应。随意提供替代方案!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top