在编写解析xml的读写程序中碰到的一些小问题,记录以便查阅

1.为了打干净的可运行jar包,把之前在web工程里面写的java程序移植知道java project中,需要把一些web工程中Myeclipse自动引入的jar包放在java工程的lib目录中(java工程本没有lib目录,需自行创建),由于使用dom4j包解析的,故将dom4j-1.6.1.jar引入java工程lib目录,但运行时抛出异常:

Exception in thread "main" java.lang.NoClassDefFoundError: org/jaxen/JaxenException
at org.dom4j.DocumentFactory.createXPath(DocumentFactory.java:230)
at org.dom4j.tree.AbstractNode.createXPath(AbstractNode.java:207)
at org.dom4j.tree.AbstractNode.selectNodes(AbstractNode.java:164)
at com.IncreRefresh.IncreRefresh.modifyXml(IncreRefresh.java:122)
at com.IncreRefresh.IncreRefresh.main(IncreRefresh.java:174)

原来使用dom4j解析,不仅需要dom4j-1.6.1.jar包还需要jaxen-1.1-beta-7.jar包,jaxen是dom4j的基础包

2.抛出异常:org.xml.sax.SAXParseException: Invalid byte 1 of 1-byte UTF-8 sequence的原因
当使用XMLWriter保存xml文件时,默认是utf-8编码,当xml中有中文时,会显示为乱码,当再次运行解析程序时,就会出现这样的错误了;
xml中尽量使用英文的值和id。

未完待续

发表评论

电子邮件地址不会被公开。 必填项已用*标注

昵称 *