以下是一个XML文件:
<?xml version="1.0" encoding="gb2312"?>
<ROOT ver="1.0" type="schinese">
<RELEASETIME date="2008-05-28 20:00:00" />
<STATION ID="54511" NAME="北京" PROVINCE="北京" DISTRICT="北京" TELCODE="010" POSTCODE="100081" LONGITUDE="116.28" LATITUDE="39.48" ALTITUDE="32">
<FORECASTINFO>
<FORECASTDATA DATE="2008-05-29" BWEA="浮尘" EWEA="晴" BWD="北风" EWD="北风" BWS="4-5级" EWS="4-5级" TMAX="24" TMIN="16" />
<FORECASTDATA DATE="2008-05-30" BWEA="晴" EWEA="晴" BWD="北风" EWD="北风" BWS="4-5级" EWS="3-4级" TMAX="31" TMIN="14" />
<FORECASTDATA DATE="2008-05-31" BWEA="多云" EWEA="阴" BWD="无风向" EWD="无风向" BWS="微风" EWS="微风" TMAX="27" TMIN="18" />
</FORECASTINFO>
<INDEXINFO>
<INDEXDATA DATE="2008-05-29" CT_N="温凉"/>
</INDEXINFO>
</STATION>
</ROOT>现在想用DOM解析,将FORECASTDATA 里面的DATE 和 BWEA的属性值提出(打印出来)。本人弄了三天都没有弄出来。求大师帮助。在此万分感激。
<?xml version="1.0" encoding="gb2312"?>
<ROOT ver="1.0" type="schinese">
<RELEASETIME date="2008-05-28 20:00:00" />
<STATION ID="54511" NAME="北京" PROVINCE="北京" DISTRICT="北京" TELCODE="010" POSTCODE="100081" LONGITUDE="116.28" LATITUDE="39.48" ALTITUDE="32">
<FORECASTINFO>
<FORECASTDATA DATE="2008-05-29" BWEA="浮尘" EWEA="晴" BWD="北风" EWD="北风" BWS="4-5级" EWS="4-5级" TMAX="24" TMIN="16" />
<FORECASTDATA DATE="2008-05-30" BWEA="晴" EWEA="晴" BWD="北风" EWD="北风" BWS="4-5级" EWS="3-4级" TMAX="31" TMIN="14" />
<FORECASTDATA DATE="2008-05-31" BWEA="多云" EWEA="阴" BWD="无风向" EWD="无风向" BWS="微风" EWS="微风" TMAX="27" TMIN="18" />
</FORECASTINFO>
<INDEXINFO>
<INDEXDATA DATE="2008-05-29" CT_N="温凉"/>
</INDEXINFO>
</STATION>
</ROOT>现在想用DOM解析,将FORECASTDATA 里面的DATE 和 BWEA的属性值提出(打印出来)。本人弄了三天都没有弄出来。求大师帮助。在此万分感激。
楼主记得结贴,你发了4个帖子,一个都没有结贴呢!! File file = new File("1.xml");
SAXBuilder builder = new SAXBuilder();
Reader in = new FileReader(file);
Document doc = builder.build(in);
Element root = doc.getRootElement(); //<ROOT
List ls = root.getChildren();// <RELEASETIME 和 <STATION
// 我们用第二个
Element station = (Element)ls.get(1);
// <FORECASTINFO> // <INDEXINFO>
List lsFI = station.getChildren();
// 我们要第一个
Element fi = (Element)lsFI.get(0);
// FORECASTDATA
List data = fi.getChildren();
// 循环
for(Object o : data) {
Element d = (Element)o;
System.out.println(d.getAttributeValue("DATE")+"/"+d.getAttributeValue("BWEA"));
}
document是最上层节点
下面才是根节点root
在下面有子节点:一种是第一的(如<ORECASTINFO> )
一种是空白,即文本节点(注意),比如回车环航
打字真累
呵呵!小菜鸟来报道了!!!送大伙一份小礼!请大家多多关照!好好的视频哦!
全部免费哦!!!找了N久才找到的!好东西与大伙一起分享!大家顶一下!
《J2EE 课程视频教程》赛迪网校罗泽彬老师主讲
http://www.beifengkd.com/read.php?tid=886&u=9616
《张孝祥JAVA视频教程》完整版[RMVB]
http://www.beifengkd.com/read.php?tid=422&u=9616
尚学堂148班高清晰版本Hibernate(王勇主讲)---共40集
http://www.beifengkd.com/read.php?tid=1338&u=9616
新东方J2ee系列
http://www.beifengkd.com/read.php?tid=531&u=9616
树人J2EE高级框架实战教学(视频教程)郭克华
http://www.beifengkd.com/read.php?tid=620&u=9616
MLDN J2EE 开发视频(共54讲)
http://www.beifengkd.com/read.php?tid=443&u=9616
北大青鸟 Asp.net 视频(主讲:于海涛)共32 讲
http://www.beifengkd.com/read.php?tid=475&u=9616
达内anyfo--EJB视频第一集发布!!
http://www.beifengkd.com/read.php?tid=1329&u=9616
郭克华J2ME
http://www.beifengkd.com/read.php?tid=241&u=9616http://www.beifengkd.com/read.php?tid=216&u=9616
oracle10g快捷版使用视频
http://www.beifengkd.com/read.php?tid=996&u=9616
Exception in thread "main" org.jdom.JDOMException: SAX2 driver class org.apache.xerces.parsers.SAXParser not found: SAX2 driver class org.apache.xerces.parsers.SAXParser not found
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:323)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:411)
at cn.umessage.asang.xml.Test.main(Test.java:23)
Root cause: java.lang.ClassNotFoundException: org.apache.xerces.parsers.SAXParser
at org.xml.sax.helpers.XMLReaderFactory.loadClass(Unknown Source)
at org.xml.sax.helpers.XMLReaderFactory.createXMLReader(Unknown Source)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:237)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:411)
at cn.umessage.asang.xml.Test.main(Test.java:23)
报这样异常~~~java2000_net的代码好像有点问题
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2008</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
import java.io.File;
import org.dom4j.Document;
import org.dom4j.io.SAXReader;
import org.dom4j.Element;
import java.util.Iterator;public class Test {
public Test() { } public static void pirntXML(String fileName) {
Document doc = null;
try {
SAXReader saxReader = new SAXReader();
// 取xml文件
doc = saxReader.read(new File(fileName));
} catch (Exception e) {
System.out.println(e.getLocalizedMessage());
} // 循环获取STATION下的子节点
for (Iterator i = doc.getRootElement().element("STATION").
elementIterator("FORECASTINFO"); i.hasNext(); ) { Element object = (Element) i.next();
// 获取FORECASTINFO下的子节点
for (Iterator j = object.elementIterator("FORECASTDATA"); j.hasNext(); ) {
Element param = (Element) j.next(); String date = param.attributeValue("DATE");
String bwea = param.attributeValue("BWEA");
System.out.println("DATE :" + date + " / BWEA :" + bwea);
}
}
}
public static void main(String[] args) {
Test.pirntXML("E:\\jbprojects-learn\\NioTest\\L.xml");
}
}
注意:请引入这个包:dom4j-1.6.1.jar
楼主截止到2008-06-18 01:08:49的汇总数据:
发帖数:4
结贴数:0
结贴率: 0.00%
如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2008</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
import java.io.File;
import org.dom4j.Document;
import org.dom4j.io.SAXReader;
import org.dom4j.Element;
import java.util.Iterator;public class Test {
public Test() { } public static void pirntXML(String fileName) {
Document doc = null;
try {
SAXReader saxReader = new SAXReader();
// 取xml文件
doc = saxReader.read(new File(fileName));
} catch (Exception e) {
System.out.println(e.getLocalizedMessage());
} // 循环获取STATION下的子节点
for (Iterator i = doc.getRootElement().element("STATION").
elementIterator("FORECASTINFO"); i.hasNext(); ) { Element object = (Element) i.next();
// 获取FORECASTINFO下的子节点
for (Iterator j = object.elementIterator("FORECASTDATA"); j.hasNext(); ) {
Element param = (Element) j.next(); String date = param.attributeValue("DATE");
String bwea = param.attributeValue("BWEA");
System.out.println("DATE :" + date + " / BWEA :" + bwea);
}
}
}
public static void main(String[] args) {
Test.pirntXML("E:\\jbprojects-learn\\NioTest\\L.xml");
}
}