当前位置: 技术问答>java相关
小弟是一个xml的初学者,这是关于java的xml解析器的问题.
来源: 互联网 发布时间:2017-03-22
本文导语: 这是我的第一到例题,可是却出错误了,大家帮看一下!谢谢!!! import java.io.*; import org.xml.sax.*; import org.xml.sax.helpers.XMLReaderFactory; import org.apache.xerces.parsers.SAXParser; public class ParseXML{ public void ParseDOC...
这是我的第一到例题,可是却出错误了,大家帮看一下!谢谢!!!
import java.io.*;
import org.xml.sax.*;
import org.xml.sax.helpers.XMLReaderFactory;
import org.apache.xerces.parsers.SAXParser;
public class ParseXML{
public void ParseDOC(String uri){
try{
XMLReader MyParser=XMLReaderFactory.createXMLReader("org.apache.xerces.parsers.SAXParser");
MyParser=parse(uri);
}
catch (Exception e){
System.err.println(e);
}
}
public static void main(String argv[]){
if (argv.length == 0){
System.out.println("Usage: java ParseXML uri");
System.out.println(" where uri is the URI of your XML document.");
System.out.println(" Sample: java ParseXML sonnet.xml");
System.exit(1);
}
ParseXML ParseXMLInstance=new ParseXML();
ParseXMLInstance.ParseDOC(argv[0]);
}
}
我是这样编译的
E:XML>javac ParseXML.java
ParseXML.java:4: cannot access org.xml.sax.helpers.XMLReaderFactory
bad class file: E:j2sdk1.4.0jrelibrt.jar(org/xml/sax/helpers/XMLReaderFactor
y.class)
class file has wrong version 48.0, should be 47.0
Please remove or make sure it appears in the correct subdirectory of the classpa
th.
import org.xml.sax.helpers.XMLReaderFactory;
^
1 error
----------------------------
我也不知道用不用编译,于是我就这么做了:
E:XML>java ParseXML
Exception in thread "main" java.lang.NoClassDefFoundError: ParseXML
还是出现错误。
我不知道怎么做了,请帮一下忙,谢谢你们大家了!!!!!
import java.io.*;
import org.xml.sax.*;
import org.xml.sax.helpers.XMLReaderFactory;
import org.apache.xerces.parsers.SAXParser;
public class ParseXML{
public void ParseDOC(String uri){
try{
XMLReader MyParser=XMLReaderFactory.createXMLReader("org.apache.xerces.parsers.SAXParser");
MyParser=parse(uri);
}
catch (Exception e){
System.err.println(e);
}
}
public static void main(String argv[]){
if (argv.length == 0){
System.out.println("Usage: java ParseXML uri");
System.out.println(" where uri is the URI of your XML document.");
System.out.println(" Sample: java ParseXML sonnet.xml");
System.exit(1);
}
ParseXML ParseXMLInstance=new ParseXML();
ParseXMLInstance.ParseDOC(argv[0]);
}
}
我是这样编译的
E:XML>javac ParseXML.java
ParseXML.java:4: cannot access org.xml.sax.helpers.XMLReaderFactory
bad class file: E:j2sdk1.4.0jrelibrt.jar(org/xml/sax/helpers/XMLReaderFactor
y.class)
class file has wrong version 48.0, should be 47.0
Please remove or make sure it appears in the correct subdirectory of the classpa
th.
import org.xml.sax.helpers.XMLReaderFactory;
^
1 error
----------------------------
我也不知道用不用编译,于是我就这么做了:
E:XML>java ParseXML
Exception in thread "main" java.lang.NoClassDefFoundError: ParseXML
还是出现错误。
我不知道怎么做了,请帮一下忙,谢谢你们大家了!!!!!
|
你的JDK1.4.0有问题了(E:j2sdk1.4.0jrelibrt.jar有问题),XMLReaderFactory读入时出的问题
建议你重新安装一下JDK, 建议你使用JDK1.4.0.2。
第二个错误,你没有编译,自然就找不到class.
建议你重新安装一下JDK, 建议你使用JDK1.4.0.2。
第二个错误,你没有编译,自然就找不到class.
|
好像是jdk的版本不对,rt.jar里的class好像是1.4.0的,而你运行的javac和java似乎是比较低的版本的,你可以运行java -version看看到底运行的是哪个路径下的java。
|
像*.jar的文件,如果需要就一个一个加到CLASSPATH里面去好了。
|
建议重新装 jsdk!!!
|
当然可以用别的版本,你把xerces.jar,jaxp.jar和xalan.jar加到classpath 里面就可以了