xml读取的问题!

zhaohh 2004-07-05 08:37:38
我写了如下代码:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*,java.io.*,java.util.*,javax.xml.parsers.*,org.w3c.dom.*,org.apache.crimson.tree.XmlDocument" errorPage="" %>
<%
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = null;
db = dbf.newDocumentBuilder();
Document doc = null;
doc = db.parse("d:\\NewSource.xml");
NodeList nl=doc.getElementsByTagName("NewSource");
%>
<p><%=nl.item(0).getFirstChild().getNodeValue()%></p>
出现了一下错误:
org.apache.jasper.JasperException: 所期望的“”终止在行5上启动的组件。
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:254)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:494)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2417)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:193)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:781)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:549)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:589)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:666)
at java.lang.Thread.run(Thread.java:536)

这是什么问题??
...全文
192 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
517187w 2004-07-07
  • 打赏
  • 举报
回复
可能是你的这个xml文件书写格式不正确.遇到了一些解析器无法识别的字符
zhaohh 2004-07-07
  • 打赏
  • 举报
回复
这个是什么错误:org.apache.jasper.JasperException: 所期望的“”终止在行5上启动的组件
问题时在这一行:Document doc = null;
doc = db.parse("d:\\NewSource.xml");
zhaohh 2004-07-06
  • 打赏
  • 举报
回复
郁闷之中。。。。。。。。。。。。。!
zuxingyuan 2004-07-06
  • 打赏
  • 举报
回复
gz
zhaohh 2004-07-06
  • 打赏
  • 举报
回复
怎么还没人回答????
517187w 2004-07-06
  • 打赏
  • 举报
回复
如果是jsp的话,你把dom4j.jar放到lib文件夹,就不会出现上面的问题了
517187w 2004-07-06
  • 打赏
  • 举报
回复
呵呵,晕了,要用dom4j,需要下载dom4j的jar包,加到类路径.关于,dom4j的东东,到ibm的网站上去看看,有一篇文章,不过你到我的blog上去看看也可以的.blog.csdn.net/517187w.因为用dom读东东我实在不熟悉,我的blog上有这方面的详尽资料,嘿嘿,是我在网上收集的
zhaohh 2004-07-06
  • 打赏
  • 举报
回复
错误提示:
description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Unable to compile class for JSP

An error occurred at line: 1 in the jsp file: /jspnews/Admin_NewSourceAdd.jsp

Generated servlet error:
[javac] Compiling 1 source file

D:\Tomcat 4.1\work\Standalone\localhost\examples\jspnews\Admin_NewSourceAdd_jsp.java:56: package org.dom4j does not exist
Element rootElement=org.dom4j.DocumentHelper.createElement("userInfo");
^



An error occurred at line: 1 in the jsp file: /jspnews/Admin_NewSourceAdd.jsp

Generated servlet error:
D:\Tomcat 4.1\work\Standalone\localhost\examples\jspnews\Admin_NewSourceAdd_jsp.java:57: package org.dom4j does not exist
Document document=org.dom4j.DocumentHelper.createDocument(rootElement);
^



An error occurred at line: 1 in the jsp file: /jspnews/Admin_NewSourceAdd.jsp

Generated servlet error:
D:\Tomcat 4.1\work\Standalone\localhost\examples\jspnews\Admin_NewSourceAdd_jsp.java:58: package org.dom4j does not exist
Element info=org.dom4j.DocumentHelper.createElement("info");
^

zhaohh 2004-07-06
  • 打赏
  • 举报
回复
能不能给我个详细点的!
517187w 2004-07-06
  • 打赏
  • 举报
回复
不过你要去看下xpath
517187w 2004-07-06
  • 打赏
  • 举报
回复
读取也简单,只要循环迭代就可以了
在dom4j里只要知道什么是元素就可以搞定很多东西了,哎,我看到其他的操纵xml文件的东东我就头皮发麻,不知所云
zhaohh 2004-07-06
  • 打赏
  • 举报
回复
我试试看成功后就揭贴!
517187w 2004-07-06
  • 打赏
  • 举报
回复
当然还包括<?...?>
517187w 2004-07-06
  • 打赏
  • 举报
回复
<userInfo>
<info>
<name>
name
</name>
<address>
address
</address>
<telePhone>
telePhone
</telePhone>
</info>
</userInfo>
517187w 2004-07-06
  • 打赏
  • 举报
回复
Element rootElement=org.dom4j.DocumentHelper.createElement ("userInfo");
Document document=org.dom4j.DocumentHelper.createDocument(rootElement);
Element info=org.dom4j.DocumentHelper.createElement("info");
rootElement.add(info);
Element name=org.dom4j.DocumentHelper.createElement("name");
name.setText("name");
Element address=org.dom4j.DocumentHelper.createElement("address");
ddress.setText("address");
Element telePhone=org.dom4j.DocumentHelper.createElement("telePhone");
telePhone.setText("telePhone");
info.add(name);
info.add(address);
info.add(telePhone);
this.writeToFile(document);
parisli 2004-07-06
  • 打赏
  • 举报
回复
doc = db.parse("d:\\NewSource.xml");
Element root = doc.getDocumentElement();
NodeList nl=root.getElementsByTagName("NewSource");
517187w 2004-07-06
  • 打赏
  • 举报
回复
第一,你这个xml文件格式正确吗?
第二,出错的是第几行?
第三,你调用的元素是否在指定节点上?
第四,暂时没想到,呵呵.
zhaohh 2004-07-06
  • 打赏
  • 举报
回复
怎么个用法,能不能说一下!
517187w 2004-07-06
  • 打赏
  • 举报
回复
怎么不用dom4j呢.那个可比这个简单多咯
zhaohh 2004-07-06
  • 打赏
  • 举报
回复
==
well-form 是什么不太清楚,能不能说一下!
我的配置:
jdac+sqlserever 2000+tomcat4.1+win2000
加载更多回复(3)

81,090

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧