这是xml文件
<?xml version="1.0" encoding="gbk"?>
<!DOCTYPE persons SYSTEM "person.dtd">
<persons>
<person name="jiang">
<age>11</age>
<email>element@hz.cn</email>
</person>
<person name="hong">
<age>22</age>
<email>rossi789@163.com</email>
</person>
<person name="bing">
<age>33</age>
<email>jianghb.jesse@yahoo.com.cn</email>
</person>
</persons>
这是DTD文件
<!DOCTYPE persons [
<!ELEMENT persons (person*)>
<!ELEMENT person (age, email)>
<!ALLLIST person name CDATA "null">
<!ELEMENT age (#PCDATA)>
<!ELEMENT email (#PCDATA)>
]>
这是程序代码
/**
* @project jiangHB_j2se
* @file_name ReadCfg.java
*/
package ch0;
import java.util.*;
import java.io.*;
/**
* @author jhb
* @version 1.0
* @create_on Sep 23, 2007 3:17:35 PM
*/
public final class ReadCfg {
public static void main(String[] args) {
Properties file = new Properties();
try {
file.loadFromXML(new FileInputStream("gateway.xml"));
file.list(System.out);
} catch (IOException e) {
e.printStackTrace();
}
}
}
----------------解决方案--------------------------------------------------------
at java.util.XMLUtils.load(XMLUtils.java:59)
at java.util.Properties.loadFromXML(Properties.java:701)
at ch0.ReadCfg.main(ReadCfg.java:21)
Caused by: org.xml.sax.SAXException: Invalid system identifier: file:///D:/MyJavaProject/jiangHB_j2se/person.dtd
at java.util.XMLUtils$Resolver.resolveEntity(XMLUtils.java:174)
at com.sun.org.apache.xerces.internal.util.EntityResolverWrapper.resolveEntity(EntityResolverWrapper.java:148)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.resolveEntity(XMLEntityManager.java:701)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch(XMLDocumentScannerImpl.java:1019)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:368)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:834)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:148)
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:250)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:292)
at java.util.XMLUtils.getLoadingDoc(XMLUtils.java:85)
at java.util.XMLUtils.load(XMLUtils.java:57)
... 2 more
----------------解决方案--------------------------------------------------------
目前只知道dom和sax...你这方法没见过。。。
----------------解决方案--------------------------------------------------------
dom太麻烦了,要弄好几个Element,Document,NodeList对象.
Properties用get方法就可以直接取到的
----------------解决方案--------------------------------------------------------