我需要读取下面的good111,good222,good333 但是下面代码显示为空,大家有办法没?谢谢 <%@   page   contentType="text/html;charset=gb2312"%>   
<%@   page   import="javax.xml.parsers.DocumentBuilderFactory,   
javax.xml.parsers.DocumentBuilder,   
org.w3c.dom.*"   
%>   
<%   
DocumentBuilderFactory   dbf   =   DocumentBuilderFactory.newInstance();   
DocumentBuilder   db   =   dbf.newDocumentBuilder();   
Document   doc   =   db.parse("123.xml");   
NodeList   n3   =   doc.getElementsByTagName("title");   
%>   
<html>   
<body>   
<%   
for   (int   j=0;j <nl.getLength()+1;j++)   
{   
String   str3   =n3.item(j).getFirstChild().getNodeValue();   
%>   
<%=str3%> <br>   
<%   
}   
%>     
</body>   
</html>   

解决方案 »

  1.   

    <%@       page       contentType="text/html;charset=gb2312"%>      
    <%@       page       import="javax.xml.parsers.DocumentBuilderFactory,      
    javax.xml.parsers.DocumentBuilder,      
    org.w3c.dom.*"      
    %>      
    <%      
    DocumentBuilderFactory       dbf       =       DocumentBuilderFactory.newInstance();      
    DocumentBuilder       db       =       dbf.newDocumentBuilder();      
    Document       doc       =       db.parse("123.xml"); //如果这么写路径,你需要把xml文件放在tomcat的bin目录里。可以写绝对路径   
    NodeList       n3       =       doc.getElementsByTagName("title");      
    %>      
    <html>      
    <body>      
    <%      
    //for       (int       j=0;j   <nl.getLength()+1;j++)  这个地方出错了,应该改为
    for       (int       j=0;j   <n3.getLength()+1;j++)
    {      
    String       str3       =n3.item(j).getFirstChild().getNodeValue();      
    %>      
    <%=str3%>   <br>      
    <%      
    }      
    %>          
    </body>      
    </html> 
    然后你把你xml文件中的cdata都去掉,改为
    <item>  
    <title>  
    good111  
    </title>  
    </item> 就可以取到值了
      

  2.   

    不好说意思,出错的那一行应该改为
    for               (int               j=0;j       <n3.getLength();j++)