Java 在JSP中将xml选择转换为数字

Java 在JSP中将xml选择转换为数字,java,xml,jsp,Java,Xml,Jsp,我在一个文件中有以下xml <knowledgecases> <knowledgecase> <caseid>101000000009</caseid> <question>What can I put into my brown bin?</question> <version /> </knowledgecase> <knowledgecase> <caseid>10

我在一个文件中有以下xml

<knowledgecases>
<knowledgecase>
<caseid>101000000009</caseid> 
<question>What can I put into my brown bin?</question> 
<version /> 
</knowledgecase>
<knowledgecase>
<caseid>101000000006</caseid> 
<question>What is ‘Scores on the Doors’?</question> 
<version /> 
</knowledgecase>
</knowledgecases>
如果我改变

value="${newcaseid + 1} to value="${newcaseid}
它显示

101000000009

101000000006

不知道我做错了什么

newcaseid变量是一个变量,不能直接在表达式语言中使用。您必须首先将其转换为可以使用数字或字符串的内容

你可以让它像这样工作:

<x:parse xml="${xml}" var="output"/>
<ul class="list">
  <x:forEach select="$output/knowledgecases/knowledgecase/caseid" var="newcaseid">
     <c:set var="current"><x:out select="$newcaseid"/></c:set>
     <li>adjacent case <c:out value="${current + 1}" /></li>
  </x:forEach>
</ul>
value="${newcaseid + 1} to value="${newcaseid}
<x:parse xml="${xml}" var="output"/>
<ul class="list">
  <x:forEach select="$output/knowledgecases/knowledgecase/caseid" var="newcaseid">
     <c:set var="current"><x:out select="$newcaseid"/></c:set>
     <li>adjacent case <c:out value="${current + 1}" /></li>
  </x:forEach>
</ul>