解析xml获取所需文本、属性信息
2017-03-20 15:27
375 查看
整理一下最近一段时间所使用的如何从xml中获取自己想要的信息
下面是要测试的xml结构
一、先获取到xml根节点
二、获取city的属性值
三、获取district的文本内容
总结:无论是取文本信息还是属性信息,方法都是固定的,解析xml最重要的是要理解xml层级结构,一层层的去剖析,问题应该不大。
有兴趣的童鞋还可以看看XPath
下面是要测试的xml结构
<?xml version="1.0" encoding="UTF-8"?> <province name="河北省"> <city name="石家庄市"> <district name="长安区">这里是长安区</district> <district name="新华区">这里是新华区</district> <district name="桥东区">这里是市中心</district> </city> <city name="廊坊市"> <district name="开发区">这里是开发区</district> <district name="广阳区">这里是广阳区</district> <district name="安次区">这里是安次区</district> </city> </province>
一、先获取到xml根节点
File file = new File("C:\\Users\\STEVEN\\Desktop\\测试xml.xml"); SAXReader reader = new SAXReader(); Document doc = reader.read(file); Element root = doc.getRootElement(); Map<String, Object> testMap = new Test2().getXml(root);
二、获取city的属性值
public static Map<String, Object> getXml(Document doc){ Map<String, Object> cityMap = new HashMap<String, Object>(); Element root = doc.getRootElement(); for(Element rootCity :(List<Element>)root.elements()){ //获取“name”属性值 String name = rootCity.attributeValue("name"); List<String> district = getDistrict(rootCity); cityMap.put(name, district); } return cityMap; }
三、获取district的文本内容
public static List<String> getDistrict(Element rootCity){ List<String> district = new ArrayList<>(); for(Element rootDistrict:(List<Element>)rootCity.elements()){ //获取关于district的描述内容 String desc = rootDistrict.getText(); district.add(desc); }
总结:无论是取文本信息还是属性信息,方法都是固定的,解析xml最重要的是要理解xml层级结构,一层层的去剖析,问题应该不大。
有兴趣的童鞋还可以看看XPath
相关文章推荐
- jquery 解析xml文档 读取属性及文本内容
- Android-通过网络获取xml文件使用pull解析得到服务器中的信息(新闻客户端)
- Java如何从XML文件中获取节点信息的代码解析 Document方法
- 解析Packages.xml获取系统信息
- 今天找到一个好的DOM4J解析XML的方法elementByID。可以通过QName获取属性。记录下~
- java调用webservice天气预报(SOAP请求的方式获取天气信息并解析返回的XML)
- jQuery获取Select选择的Text(文本信息)和 Value属性的值,select语法解释;单选框和复选框
- Dom4j解析XML文本,遍历指定节点下的节点内容和属性,并存入List<Map<String,Object>
- c# XML数据解析通用工具, 获取 节点 文本内容
- android 的模拟网页登录获取信息和JSOUP解析xml
- 利用dom4j解析.xml之查询标签的文本信息
- 网络获取信息Ion---解析xml和assets获取信息pull解析xml
- 使用dom4j解析xml标签,将标签属性与文本内容添加进集合
- java解析xml文件获取xml里面的信息
- 从XML文件中获取格式化的文本信息
- XML解析 获取节点属性
- java调用webservice天气预报(SOAP请求的方式获取天气信息并解析返回的XML)
- 【记录】selenium+xpath 文本信息定位,获取父节点属性
- Xcode9学习笔记74 - 读取和解析Plist属性列表文件(获取远程服务器信息并显示返回数据)
- 解析xml,获取值和属性