Java中xml中数据的读取

config/cfg.xml

<?xml version="1.0" encoding="UTF-8"?>
<game>
<frame width="1220" height="654" padding="16" windowSize="7">
<Lay class="ui.LayBackground "x="0" y="0" w="0" h="0"/>
<Lay class="ui.LayDataBase" x="40" y="32" w="334" h="279"/>
<Lay class="ui.LayDisk" x="40" y="343" w="334" h="279"/>
<Lay class="ui.LayGame" x="414" y="32" w="334" h="590"/>
<Lay class="ui.LayButton" x="788" y="32" w="334" h="124"/>
<Lay class="ui.LayNext" x="788" y="188" w="180" h="148"/>
<Lay class="ui.LayLeve" x="968" y="188" w="154" h="148"/>
<Lay class="ui.LayPoint" x="788" y="368" w="334" h="200"/>

</frame>

<system>

</system>

<data>

</data>

</game>

package config;

import java.util.List;

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("config/cfg.xml");
Element game=doc.getRootElement();
Element frame=game.element("frame");
String str=frame.attributeValue("width");
System.out.print(str);

}
public static void main(String[]args) throws Exception
{
readConfig();
}

}
为什么编译的时候没有错误,运行的时候就出错了啊

第1个回答  2013-09-06
语法问题,这一句:
<Lay class="ui.LayBackground "x="0" y="0" w="0" h="0"/>

出了问题,注意写完class属性的值后输入一个空格!
属性与属性之间要有空格间隔!所以应该这么写:
<Lay class="ui.LayBackground" x="0" y="0" w="0" h="0"/>
第2个回答  2013-09-06
一、因为你这个属于“运行时异常”RuntimeException

二、建议使用jdk自带解析xml rt.jar

三、你的xml文件貌似写的有“问题”对于dom4j而言。

追问

我用的是dom4j里的,你的意思是说这个里面有错误码?

第3个回答  2013-09-06
我想是这个问题。
class="ui.LayBackground "x="0" ,这个,你的属性之间貌似有些没有空格啊,调下格式,连在一起恐怕有问题追问

贴了...帮忙看看啊

本回答被提问者采纳

java 怎么读取xml里面的值
dom4j是最常用的java解析xml技术,在使用时需要下载dom4j.jar 具体解析方法可以参考一下内容 xml结构 <books> <book id="001"> Harry Potter <author>J K. Rowling<\/author> <\/book> <book id="002"> Learning XML <author>Erik T. Ray<\/author> <\/book> <\/books> ...

怎样用java从xml里读取数据 并且保存为txt格式
一种是从XML的节点中读取数据,如上面的内容就是分别读取到abc123 和 123abc,供后续程序使用。这种读取一般需要使用Java 的一些XML API,如dom4j就可以,具体网上用“java xml”关键字搜一下一大片;另外一种就是把XML的内容作为文本处理,感觉楼主的意思应该是这种。其实XML文件本身就是平文件,直接用I...

java读取配置文件的方法(xml)
回答:建议看哈JAXP 关于java操作xml其实很简单

关于java xml读取时中文路径的问题
这是人家api规定的,你可以选择另一种方式啊,parse方法可以加很多参数的,它不接受中文,但是File可以啊,改成 builder.parse(new File("中文路径"))搞定。

java读取xml文件内容
java中不是有个读取xml文件的类吗?之间调用那类读取出来,然后用取节点的方法去取对应节点的里的值。等下给你代码。public class ReaderXml { private static String filename = "E:\\\\workplace\\\\readerxml\\\\bin\\\\reader\\\\xml\\\\reader.xml";\/\/ private static Config config;public static void ...

java读取XML位置数据画图。
我来帮你一把,分析问题;读取XML文件的内容:java项目内导入dom4j jar包,利用SAXReader读取xml文件,在java程序中实例化的对象类是Document,读取XML文件中的内容;xml文件中的存储思路 <image> <name>图片名<\/name> <Xposition>X轴位置<\/Xposition> <Yposition>Y轴位置<\/Yposition> <\/image> 画图...

在java在如何解析XML文件
在java环境下读取xml文件的方法主要有4种:DOM、SAX、JDOM、JAXB 1. DOM(Document Object Model)此方法主要由W3C提供,它将xml文件全部读入内存中,然后将各个元素组成一棵数据树,以便快速的访问各个节点 。 因此非常消耗系统性能 ,对比较大的文档不适宜采用DOM方法来解析。 DOM API 直接沿袭了 XML ...

java 关于读取xml文件的问题
1.读取XML文件,获得document对象。SAXReader reader = new SAXReader();Document document = reader.read(new File("input.xml"));2.解析XML形式的文本,得到document对象。String text = "<members><\/members>";Document document = DocumentHelper.parseText(text);3.主动创建document对象。Document ...

java如何从一个xml文件读取根节点、子节点属性。
1> 有xml文件路径,获取该路径下的所有文件,用后缀“.xml”或“.XML”过滤得到xml文件。2> javax.xml.parsers.DocumentBuilder builder = factory.newDocumentBuilder();org.w3c.dom.Document doc = builder.parse(is); 创建文档对象。3>doc.getChildNodes()获取文档中所有的节点,循环遍历所得节点node...

如何用Java实现对xml文件的读取和写入以及保存
public class Dom4jSample { public static void main(String[] args) { Dom4jSample dom4jSample = new Dom4jSample();Document document = dom4jSample.createDocument();try{ dom4jSample.FileWrite(document);Document documentStr = dom4jSample.StringToXML("<China>I Love!<\/China>");dom4jSample....

相似回答
大家正在搜