解析xml文档 总是获取不到值,求帮看一下 xml 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 至少在我看来,<game> 没close上,reader.read 读文件名后面也不用上加 / 吧,呵呵。 我的game close上了 图上没显示 我把文件名后的 / 给去了 可是还是没用啊 我用debug 运行SAX 那句 显示找不到值 。 建议楼主去 w3cschool自学一下xpath 然后就可以 你这个程序 还是先debug看一下有没有获取到doc对象吧 我这样是获取到值的 但就是 for 后获取不到值 但是能获取到frame 的值 List labellist = doc.selectNodes("//frame/@layer");楼主试试这样能获取到你layer节点的值不 List<Element> layers = freams.elements();这一句 没有参数 楼主再试试 package com.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"); List<Element> layers = frame.elements("layer"); for(Element layer : layers){ System.out.print(layer.attributeValue("className")); } } public static void main(String args[]) throws Exception{ readConfig(); }}这是解析的代码 <?xml version="1.0" encoding="UTF-8"?><game><frame width="1000" height="700" padding="10" windowSize="1"> <Layer className="com.tertris.LayBackGround" x="0" y="0" w="0" h="0"/> <Layer className="com.tertris.LayDateBase" x="40" y="32" w="230" h="270"/> <Layer className="com.tertris.LayDisk" x="40" y="350" w="230" h="258"/> <Layer className="com.tertris.LayGame" x="310" y="32" w="322" h="578"/> <Layer className="com.tertris.LayButton" x="670" y="32" w="275" h="80"/> <Layer className="com.tertris.LayNext" x="670" y="150" w="140" h="80"/> <Layer className="com.tertris.LayLevel" x="830" y="150" w="116" h="80"/> <Layer className="com.tertris.LayPoint" x="670" y="270" w="275" h="170"/> <Layer className="com.tertris.LayAbout" x="670" y="480" w="275" h="128"/></frame><system></system><date></date></game>这是 XML的代码 希望帮我解决下 第一个问题,Layer,看看你第一个字母是大写的,你呢,小呢 spring3 mvc 报业务异常和处理异常后应答中文乱码 求页面到servlet的javaben封装。 JAVA 光盘丢了(jsp 网站开发典型模块与实例精讲),哪位xdjm给我发下 火急!!! hibernate查询出来的数据和数据库中不一致!!! 一个java问题,我是新手,急用,请您帮帮忙! Hibernate3.1与Jboss 4.0.4整合的问题 在线等,解决马上给分 大讨论,java在全国那些地方发展的好!! JAVA+数据库时间数据读取问题? 多线程 VOLITIEL 关键词求助~ 求IdentityHashMap顺序的问题,非常急!
楼主试试这样能获取到你layer节点的值不
这一句 没有参数 楼主再试试
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");
List<Element> layers = frame.elements("layer");
for(Element layer : layers){
System.out.print(layer.attributeValue("className"));
}
}
public static void main(String args[]) throws Exception{
readConfig();
}
}
这是解析的代码
<game>
<frame width="1000" height="700" padding="10" windowSize="1">
<Layer className="com.tertris.LayBackGround" x="0" y="0" w="0" h="0"/>
<Layer className="com.tertris.LayDateBase" x="40" y="32" w="230" h="270"/>
<Layer className="com.tertris.LayDisk" x="40" y="350" w="230" h="258"/>
<Layer className="com.tertris.LayGame" x="310" y="32" w="322" h="578"/>
<Layer className="com.tertris.LayButton" x="670" y="32" w="275" h="80"/>
<Layer className="com.tertris.LayNext" x="670" y="150" w="140" h="80"/>
<Layer className="com.tertris.LayLevel" x="830" y="150" w="116" h="80"/>
<Layer className="com.tertris.LayPoint" x="670" y="270" w="275" h="170"/>
<Layer className="com.tertris.LayAbout" x="670" y="480" w="275" h="128"/></frame>
<system></system><date></date></game>
这是 XML的代码 希望帮我解决下