读书人

dom4j中reader.read(String[] file)错

发布时间: 2013-08-06 16:47:25 作者: rapoo

dom4j中reader.read(String[] file)异常
Exception in thread "main" org.dom4j.DocumentException: Error on line 9 of document file:///E:/java测试/Tetris/config/cfg.xml : 与元素类型 "width" 相关联的属性 "{1}" 应有左引号。 Nested exception: 与元素类型 "width" 相关联的属性 "{1}" 应有左引号。
at org.dom4j.io.SAXReader.read(SAXReader.java:482)
at org.dom4j.io.SAXReader.read(SAXReader.java:264)
at config.ConfigReader.readConfig(ConfigReader.java:12)
at config.ConfigReader.main(ConfigReader.java:19)
Nested exception:
org.xml.sax.SAXParseException; systemId: file:///E:/java测试/Tetris/config/cfg.xml; lineNumber: 9; columnNumber: 53; 与元素类型 "width" 相关联的属性 "{1}" 应有左引号。
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanAttributeValue(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanAttribute(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at org.dom4j.io.SAXReader.read(SAXReader.java:465)
at org.dom4j.io.SAXReader.read(SAXReader.java:264)
at config.ConfigReader.readConfig(ConfigReader.java:12)
at config.ConfigReader.main(ConfigReader.java:19)
已经查了中文路径和xml配置的问题,试了下都无法解决
java源码
package config;

import java.io.File;



import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

public class ConfigReader {
public static void readConfig() throws Exception {
SAXReader reader = new SAXReader();
Document doc = reader.read(new File("config/cfg.xml"));
Element game = doc.getRootElement();
Element frame = game.element("frame");
String str=frame.attributeValue("width");
System.out.println(str);
}
public static void main(String[] args) throws Exception {
readConfig();
}
}
xml 源码
<?xml version="1.0" encoding="UTF-8"?>
<game>
<frame width="1168" height="680" padding="16" windowSize="7">
<layer class="ui.LayerBackground" x="0" y="0" width="0" height="0"/>
<layer class="ui.LayerDataBase" x="40" y="32" width="334" height="279"/>
<layer class="ui.LayerDisk" x="40" y="343" width="334" height="279"/>
<layer class="ui.LayerGame" x="414" y="32" width="334" height="590"/>
<layer class="ui.LayerButton" x="778" y="32" width="334" height="124"/>
<layer class="ui.LayerNext" x="778" y="188" width=176" height="148 "/>
<layer class="ui.LayerLeve" x="964" y="188" width="158" height="148"/>
<layer class="ui.LayerPoint" x="788" y="368" width="334" height=2000"/>
</frame>
<syetem>

</syetem>
<date>

</date>

</game> dom4j xml
[解决办法]
<layer class="ui.LayerNext" x="778" y="188" width=176" height="148 "/>

少个左引号,多明显的提示了。

读书人网 >Java相关

热点推荐