Jsoup解析xml文件
public class Test2 {
public static void main(String[] args) throws IOException, XpathSyntaxErrorException {
String path = Test2.class.getClassLoader().getResource("weather.xml").getPath();
Document document = Jsoup.parse(new File(path), "utf-8");
//1.获取city为北京下边的所有地区(county)的名字。
Elements select = document.select("city[name=\"北京\"] county");
for (int i = 0; i <select.size() ; i++) {
System.out.println(select.get(i).attr("name"));
}
// System.out.println("-----------------");
Elements city = document.getElementsByTag("city");
Elements county = city.get(0).getElementsByTag("county");
for (int i = 0; i <county.size() ; i++) {
System.out.println(county.get(i).attr("name"));
}
//JXDocument做法
JXDocument jxDocument=new JXDocument(document);
List<JXNode> jxNodes = jxDocument.selN("//city[@name='北京']/county");
for (int i = 0; i < jxNodes.size(); i++) {
System.out.println(jxNodes.get(i).getElement().attr("name"));
}
//2.获取地区id为010103的地区名字。
Elements select = document.select("#010103");
String name = select.attr("name");
System.out.println(name);
//
Element elementById = document.getElementById("010103");
String name = elementById.attr("name");
System.out.println(name);
// //
JXDocument jxDocument=new JXDocument(document);
List<JXNode> jxNodes = jxDocument.selN("//county[@id='010103']");
String name1 = jxNodes.get(0).getElement().attr("name");
System.out.println(name1);
//3.获取地区名字为房山的天气编码(weatherCode)。
Elements select = document.select("county[name=房山]");
String weatherCode = select.attr("weatherCode");
System.out.println(weatherCode);
//
Elements elements = document.getElementsByAttributeValue("name", "房山");
String weatherCode = elements.attr("weatherCode");
System.out.println(weatherCode);
// //
JXDocument jxDocument=new JXDocument(document);
List<JXNode> jxNodes = jxDocument.selN("//county[@name='房山']");
String weatherCode1 = jxNodes.get(0).getElement().attr("weatherCode");
System.out.println(weatherCode1);
//4.获取所以的城市名称。
Elements city = document.select("city");
for (int i = 0; i <city.size() ; i++) {
System.out.println(city.get(i).attr("name"));
}
Elements city = document.getElementsByTag("city");
for (int i = 0; i <city.size() ; i++) {
System.out.println(city.get(i).attr("name"));
}
JXDocument jxDocument=new JXDocument(document);
List<JXNode> jxNodes = jxDocument.selN("//city");
for (JXNode jxNode : jxNodes) {
System.out.println(jxNode.getElement().attr("name"));
}
//5.获取城市id为3402的省份名称。
JXDocument jxDocument=new JXDocument(document);
List<JXNode> jxNodes = jxDocument.selN("//city[@id='3402']");
String name1 = jxNodes.get(0).getElement().parent().attr("name");
System.out.println(name1);
System.out.println(jxNodes.get(0).getElement().attr("name"));
Elements select = document.select("city[id=3402]");
System.out.println(select.get(0).parent().attr("name"));
String name = document.getElementById("3402").parent().attr("name");
System.out.println(name);
}
}

893

被折叠的 条评论
为什么被折叠?



