修改XML文件的时候运行报错!

lqsmn613 2009-10-26 08:39:54

public class UpdateXML {
public static void main(String[] args) {
try {
SAXReader saxReader = new SAXReader();
Document doc = saxReader.read(new File("e:/user.xml"));
List list = doc.selectNodes("users/user/@state");
Iterator iter = list.iterator();
while(iter.hasNext()){
Attribute attribute = (Attribute)iter.next();
if(attribute.getValue().equals("owner")){
attribute.setValue("other");
}
}
} catch (DocumentException e) {
e.printStackTrace();
}
}
}


运行报错:
Warning: Caught exception attempting to use SAX to load a SAX XMLReader
Warning: Exception was: java.lang.ClassNotFoundException: org/apache/xerces/parsers/SAXParser
Warning: I will print the stack trace then carry on using the default SAX parser
java.lang.ClassNotFoundException: org/apache/xerces/parsers/SAXParser
at org.xml.sax.helpers.XMLReaderFactory.loadClass(Unknown Source)
at org.xml.sax.helpers.XMLReaderFactory.createXMLReader(Unknown Source)
at org.dom4j.io.SAXHelper.createXMLReader(SAXHelper.java:83)
at org.dom4j.io.SAXReader.createXMLReader(SAXReader.java:894)
at org.dom4j.io.SAXReader.getXMLReader(SAXReader.java:715)
at org.dom4j.io.SAXReader.read(SAXReader.java:435)
at org.dom4j.io.SAXReader.read(SAXReader.java:264)
at tt.UpdateXML.main(UpdateXML.java:16)
org.dom4j.DocumentException: SAX2 driver class org.apache.xerces.parsers.SAXParser not found Nested exception: SAX2 driver class org.apache.xerces.parsers.SAXParser not found
at org.dom4j.io.SAXReader.read(SAXReader.java:484)
at org.dom4j.io.SAXReader.read(SAXReader.java:264)
at tt.UpdateXML.main(UpdateXML.java:16)
Nested exception:
java.lang.ClassNotFoundException: org/apache/xerces/parsers/SAXParser
at org.dom4j.io.SAXHelper.createXMLReader(SAXHelper.java:98)
at org.dom4j.io.SAXReader.createXMLReader(SAXReader.java:894)
at org.dom4j.io.SAXReader.getXMLReader(SAXReader.java:715)
at org.dom4j.io.SAXReader.read(SAXReader.java:435)
at org.dom4j.io.SAXReader.read(SAXReader.java:264)
at tt.UpdateXML.main(UpdateXML.java:16)
Nested exception: java.lang.ClassNotFoundException: org/apache/xerces/parsers/SAXParser
at org.dom4j.io.SAXHelper.createXMLReader(SAXHelper.java:98)
at org.dom4j.io.SAXReader.createXMLReader(SAXReader.java:894)
at org.dom4j.io.SAXReader.getXMLReader(SAXReader.java:715)
at org.dom4j.io.SAXReader.read(SAXReader.java:435)
at org.dom4j.io.SAXReader.read(SAXReader.java:264)
at tt.UpdateXML.main(UpdateXML.java:16)

这是什么原因
...全文
451 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
bayougeng 2009-10-26
  • 打赏
  • 举报
回复
不支持gbk?那就utf-8咯。
lqsmn613 2009-10-26
  • 打赏
  • 举报
回复
貌似是这个问题,谢谢啦。
还有个问题,是编码的问题,我前面建XML的时候是设置为“GBK”的。而现在报错,好像是编码的问题。
怎么解决:?
错误:
org.dom4j.DocumentException: Error on line 0 of document : The encoding "GBK" is not supported. Nested exception: The encoding "GBK" is not supported.
at org.dom4j.io.SAXReader.read(SAXReader.java:482)
at org.dom4j.io.SAXReader.read(SAXReader.java:264)
at tt.UpdateXML.main(UpdateXML.java:16)
Nested exception:
org.xml.sax.SAXParseException: The encoding "GBK" is not supported.
at org.apache.xerces.framework.XMLParser.reportError(XMLParser.java:1196)
at org.apache.xerces.readers.DefaultEntityHandler.startReadingFromDocument(DefaultEntityHandler.java:541)
at org.apache.xerces.framework.XMLParser.parseSomeSetup(XMLParser.java:312)
at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1080)
at org.dom4j.io.SAXReader.read(SAXReader.java:465)
at org.dom4j.io.SAXReader.read(SAXReader.java:264)
at tt.UpdateXML.main(UpdateXML.java:16)
Nested exception: org.xml.sax.SAXParseException: The encoding "GBK" is not supported.
at org.apache.xerces.framework.XMLParser.reportError(XMLParser.java:1196)
at org.apache.xerces.readers.DefaultEntityHandler.startReadingFromDocument(DefaultEntityHandler.java:541)
at org.apache.xerces.framework.XMLParser.parseSomeSetup(XMLParser.java:312)
at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1080)
at org.dom4j.io.SAXReader.read(SAXReader.java:465)
at org.dom4j.io.SAXReader.read(SAXReader.java:264)
at tt.UpdateXML.main(UpdateXML.java:16)
Gkilroy 2009-10-26
  • 打赏
  • 举报
回复
这种问题就是缺少API包,下载xerces.jar包,添加到build path.

st161166 2009-10-26
  • 打赏
  • 举报
回复
用UTF-8比较好

50,526

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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