DOM4J 解析XML文件
来源:互联网 发布:高达哪部最好看 知乎 编辑:程序博客网 时间:2024/06/01 16:56
<?xml version="1.0" encoding="UTF-8"?><China> <province id="01" name="北京"> <city id="0101" name="北京"> <county id="010101" name="北京" weatherCode="101010100"/> <county id="010102" name="海淀" weatherCode="101010200"/> <county id="010103" name="朝阳" weatherCode="101010300"/> <county id="010104" name="顺义" weatherCode="101010400"/> <county id="010105" name="怀柔" weatherCode="101010500"/> <county id="010106" name="通州" weatherCode="101010600"/> <county id="010107" name="昌平" weatherCode="101010700"/> <county id="010108" name="延庆" weatherCode="101010800"/> <county id="010109" name="丰台" weatherCode="101010900"/> <county id="010110" name="石景山" weatherCode="101011000"/> <county id="010111" name="大兴" weatherCode="101011100"/> <county id="010112" name="房山" weatherCode="101011200"/> <county id="010113" name="密云" weatherCode="101011300"/> <county id="010114" name="门头沟" weatherCode="101011400"/> <county id="010115" name="平谷" weatherCode="101011500"/> </city> </province></China>
做了一个天气项目解析城市XML
import java.io.File;import java.net.URL;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Map.Entry;import org.dom4j.Document;import org.dom4j.Element;import org.dom4j.io.SAXReader;public class ParseXml {public Map<String,String> read() {Map<String,String> map = null;try {SAXReader reader = new SAXReader();URL resoucePath = PropertiesLoader.class.getClassLoader().getResource("city_code.xml");File file = new File(resoucePath.getPath());Document document = reader.read(file);// 获取根节点Element root = document.getRootElement();Iterator<?> iter = root.elementIterator("province"); // 获取根节点下的子节点provincemap = new HashMap<String,String>();// 遍历province节点while (iter.hasNext()) {Element recordEle = (Element) iter.next();Iterator<?> iters = recordEle.elementIterator("city"); // 获取子节点province下的子节点city// 遍历province节点下的city节点while (iters.hasNext()) {Element itemEle = (Element) iters.next();Iterator<?> itor = itemEle.elementIterator("county"); // 获取子节点city下的子节点county// 遍历city下的子节点countywhile (itor.hasNext()) {Element countryEle = (Element) itor.next();String id = countryEle.attributeValue("weatherCode");String name = countryEle.attributeValue("name");map.put(id, name);}}}} catch (Exception e) {e.printStackTrace();}return map;}public static void main(String[] args) {ParseXml parseXml = new ParseXml();Map<String,String> map = parseXml.read();for (Entry<String, String> entry: map.entrySet()) { String key = entry.getKey(); String value = entry.getValue(); System.out.println(key+value);}}}
0 0
- xml文件解析-DOM4J
- dom4j解析Xml文件
- DOM4J 解析XML文件
- dom4j解析xml文件
- dom4j解析XML文件
- dom4j解析xml文件
- dom4j 解析xml文件
- dom4j解析xml文件
- dom4j解析XML文件
- Dom4J解析XML文件
- dom4j解析xml文件
- Dom4j解析xml文件
- Dom4j 解析xml文件
- dom4j解析xml文件
- dom4j解析xml文件
- dom4j解析xml文件
- dom4j解析xml文件
- DOM4J解析XML文件
- asp.net中Session页面传值的应用小例子
- Unable to execute dex: Multiple dex files define错误的一种解决方法
- openfire+spark+smack 即时通讯(问题篇一)离线消息获取不到
- GridView CSS的样式表
- Android数据库安全解决方案,使用SQLCipher进行加解密
- DOM4J 解析XML文件
- hashCode与equals的区别与联系
- Specifying Attributes of Types
- 用html或jsp最简单的调用百度搜索的方式
- 1/10计算资源,1/3耗时,Spark颠覆MapReduce保持的排序记录
- 10个我最喜欢问程序员的面试问题
- 关于工程输出日志的三两事(qt creator 、visual studio)
- CNS网络GPU加速配置步骤
- Android 事件分发机制(下)