导入xalan.jar 2.7.1; jstl.jar 1.1.2
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x"%>
<c:set var="xmlText">
<a><b><c>good</c></b>
<d><c>body</c></d>
</a>
</c:set>
    <x:parse var="xmlDoc" doc="${xmlText}"/><br/>
    ${xmlDoc}<br/>
xmlDoc 显示为[#document: null]
a.xml
<bookstore>
   <book>
         <title lang="eng">Harry Potter</title>
         <price>29.9966</price>
   </book>
   <book>
         <title lang="chs">Learning XML</title>
         <price>39.95</price>
   </book>
</bookstore>
<c:import url="/tag/a.xml" var="site"></c:import>
XML文件内容:<c:out value="${site}" /><br/>(这里能看到a.xml文件内容)
    
<x:parse var="result" doc="${site}" />
获取XML中节点的内容 :<br />${result}(显示为[#document: null] )请问是什么原因?????

解决方案 »

  1.   

    在这一句<x:parse var="xmlDoc" doc="${xmlText}"/>前应该申明xmlText的地址吧,比如:
    <c:import var="xmlText" url="/WEN-INF/web.xml">此处我是以web.xml为例
      

  2.   

    这个输出并不是说Dom对象是Null。解析后的XML Dom对象,应该用x:out标签输出其值,

    <x:out select="$xmlDoc"  />
    <x:out select="$result"  />或进一步输出其子元素值,如:
    <x:out select="$xmlDoc/a/b/c"  />
    <x:out select="$result/bookstore/book/price"  />