关于xml文件解析的问题

xiaoming200312319 2004-08-07 04:37:16
用jdom对xml文件进行解析,总是抛出dtd文件找不到的错误。不知道什么原因,哪位前辈能帮我解决这个问题,不胜感谢。
程序如下
import java.io.*;
import org.jdom.*;
import org.jdom.input.*;
import org.jdom.output.*;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.FileNotFoundException;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.adapters.XercesDOMAdapter;
import org.jdom.input.DOMBuilder;
import org.jdom.output.XMLOutputter;
import java.util.List;
import java.util.Iterator;

public class XMLWithDTD
{
public void validate()
{
try
{
DOMBuilder builder=null;
XercesDOMAdapter xercAdapter=new XercesDOMAdapter();
org.w3c.dom.Document w3Dom=xercAdapter.getDocument(new FileInputStream("user.xml"),true);
builder=new DOMBuilder("org.jdom.adapters.XercesDOMAdapter");
Document doc=builder.build(w3Dom);
System.out.println("ok");
XMLOutputter outputter = new XMLOutputter();
outputter.output(doc, System.out);
}catch(Exception e)
{
System.out.println(e);
}

}
public static void main(String args[])
{
new XMLWithDTD().validate();
}

}
...全文
151 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
kongkongye 2004-08-07
  • 打赏
  • 举报
回复
dtd和xml的显示无关。
象css,xsl等,就与xml的显示直接相关。
所以,能用IE正常显示,并不能说明关于dtd的什么。
xiaoming200312319 2004-08-07
  • 打赏
  • 举报
回复
打开以后是这样的
<?xml version="1.0" standalone="no" ?>
<!DOCTYPE user_info (View Source for full doctype...)>
- <user_info>
- <info>
<name>aa</name>
<number>13</number>
<pass>134</pass>
</info>
</user_info>
kongkongye 2004-08-07
  • 打赏
  • 举报
回复
没用过jdom,但是研究过xml.
应该是你的xml样本选择的不太好,里面包含了外部dtd,但是,jdom又不能找到它。
解决方案1:找到那个dtd文件,使得xml中所描述的dtd问件位置,和实际的位置相一致。


2: 找到那个dtd,将他的内容拷到xml中,使得外部dtd变为内部dtd.

3.重新找一个只含有内部dtd的xml样本。这种最简单,强烈建议!
xiaoming200312319 2004-08-07
  • 打赏
  • 举报
回复
能打开啊
TinyJimmy 2004-08-07
  • 打赏
  • 举报
回复
xml文件指定的dtd找不到, 你用ie打开你这个xml文件看是否能正常打开?
xu_xinyu 2004-08-07
  • 打赏
  • 举报
回复
不知道,支持一下。

62,622

社区成员

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

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