weather.xml<?xml version="1.0" encoding="utf-8"?><countrys> <countrysname name="china"> <citys> <city> <name>秦皇岛</name> <high>28</high> <low>18</low> <wind>三级</wind> </city> <city> <name>天津</name> <high>30</high> <low>18</low> <wind>二级</wind> </city> </citys> </countrysname></countrys>TestWeather.classpackage com.view;import java.io.*;import org.jdom.input.SAXBuilder;import org.jdom.Document;import org.jdom.Element;import java.util.List;public class TestWeather { public TestWeather() { } public static void main(String[] args) { try { FileInputStream fis = new FileInputStream("weather.xml"); SAXBuilder sax = new SAXBuilder(); Document doc = sax.build(fis); Element root = doc.getRootElement(); List students = root.getChildren(); System.out.println("城市\t最高气温\t最低气温\t风速");//这附近有错误,可是不知道怎么改 for(int i=0;i<students.size();i++) { Element element = (Element)students.get(i); String name = element.getChild("name").getText(); String high = element.getChild("high").getText(); String low = element.getChild("low").getText(); String wind = element.getChild("wind").getText(); System.out.println(name+"\t"+high+"\t"+low+"\t"+wind); } fis.close(); }catch(Exception ex){ ex.printStackTrace(); } }}
把下面这些换上就行了,我测试了。Element students = (Element) root.getChildren().get(0);List citys = ((Element)students.getChildren().get(0)).getChildren() ;System.out.println("城市\t最高气温\t最低气温\t风速");for(int i=0;i<citys.size();i++){ Element element = (Element)citys.get(i);