1、检查是否b8以上版本;
2、检查Classpath中是否存在多个jdom的jar文件,新旧版本冲突。
2、检查Classpath中是否存在多个jdom的jar文件,新旧版本冲突。
解决方案 »
- 观传智播客李勇JDBC视频之《释放连接》所惑
- 一个神奇的jquery问题--使相同名字的div不能用
- 哥,关于action->jsp的问题,散高分求教
- 谢谢 麻烦高手指教给编个程序
- Axis2 开发(服务器端)
- 解决一下struts 2与spring ,hibernate整合的问题
- 有谁了解神州数码思特奇的面试情况的
- 求助,spring与struts结合的问题
- Applet在jSP怎么不能显示?高分求救。。。急
- jsp中如何调用web serviceweb service 是用vb.net写的,目前在asp中调用没有问题!) ???
- 请问各位大虾都用什么java开发工具?
- 很急的问题,如何在javabean里面获取一个文件的绝对路径?
下一个beta 9 。它含有
import org.jdom.*;
import org.jdom.adapters.*;
import org.jdom.filter.*;
import org.jdom.input.*;
import org.jdom.output.*;
import org.jdom.transform.*;
import org.jdom.xpath.*;顺便问一下
private static Document doc = null;
public static void prepareDoc(String fileName) {
try{
//create the JDOM SAXBuilder
SAXBuilder saxBuilder = new SAXBuilder (true);
//prepare the JDOM tree
doc = saxBuilder.build (new File(fileName));
} catch (JDOMException e) {
System.out.println ("JDOMException: " + e.getMessage());
} catch (IOException e) {
System.out.println ("IOException: " + e.getMessage());
} catch (Exception e) {
System.out.println ("Exception: " + e.getMessage());
}
}
SAXBuilder 强制要求要有dtd吗?
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE CONFIGURATIONS SYSTEM ".\CONFIG.dtd"><!-----要是没有这句,就会有错误---->
<CONFIGURATIONS>
<CONFIG>
<DRIVERNAME>com.microsoft.jdbc.sqlserver.SQLServerDriver</DRIVERNAME>
</CONFIG>
</CONFIGURATIONS>
=============================================================================
JDOMException: Error on line 3 of document file:/e:/xxx/config.xml: Document is
invalid: no grammar found.
Exception in thread "main" java.lang.NullPointerException
at com.bcstnet.enterprise.beans.XmlSetting.forTest(XmlSetting.java:44)
at com.bcstnet.enterprise.beans.XmlSetting.main(XmlSetting.java:24)
正常 输 出为
e:\\xxx\\config.xml
[[Text: com.microsoft.jdbc.sqlserver.SQLServerDriver]]
Press any key to continue...
还有,为什么,我这句不能更改节点内容?
怎么处理?
boolean bool = true;
org.jdom.output.XMLOutputter xml = new org.jdom.output.XMLOutputter(a,
bool, "UTF-8");
xml.output(doc, new FileOutputStream(filename));
boolean bool = true;
org.jdom.output.XMLOutputter xml = new org.jdom.output.XMLOutputter(a,
bool, "UTF-8");
xml.output(doc, new FileOutputStream(filename));
boolean bool = true;
org.jdom.output.XMLOutputter xml = new org.jdom.output.XMLOutputter(a,
bool, "UTF-8");
xml.output(doc, new FileOutputStream(filename));
我猜以下的true可能也是这个含义,改成false试试。
SAXBuilder saxBuilder = new SAXBuilder (true);
不要误导啊,“不管是true还是false都会验证dtd是否存在”,那这个作者不是太菜了。
查了一下源码,true是要验证,false和不传参数是不验证。不过jdom在解析XML时是采用其它的XML解析器,如果该解析器不支持验证DTD,那么参数为true解析时可能会抛出不支持异常。如果没有指定XML解析器,将默认使用xerce,它是支持DTD验证的。
good luck.
其实你是非常正确的,不过我的意思也没错,有点偏差,我说的验证是指验证XML是否符合DTD,你是指是否验证:)
综合来讲: 如果XML中指定了DTD文档,若参数为空,不会去验证DTD是否存在或语法正确,如果参数非空,都会先验证DTD是否存在、语法是否正确。如果DTD语法正确了,参数为空或false,xml不符合DTD照样解析,若为true,xml必须符合DTD定义。
没有参数跟false是一样的,看一下源码就清楚了,默认为false。不管有没有参数,只要xml中指定了dtd,都会去验证该dtd文件是否存在,语法是否正确。如果DTD正确了,参数true和false才是表示是否验证xml符合dtd定义。