DOM方式进行XML文件解析

来源:互联网 发布:淘宝开零食店赚钱吗 编辑:程序博客网 时间:2024/05/16 19:32
DOM方式进行XML文件解析
 <update>      <version>2</version>      <name>baidu_xinwen_1.1.0</name>      <url>http://gdown.baidu.com/data/wisegame/f98d235e39e29031/baiduxinwen.apk</url>    </update>

-

-

-

package com.yiban.caesar.Utils;import org.w3c.dom.Document;import org.w3c.dom.Element;import org.w3c.dom.Node;import org.w3c.dom.NodeList;import java.io.InputStream;import java.util.HashMap;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;/** * DOM方式进行XML文件解析 * Created by LXL on 2017/2/21. */public class ParseXmlService {//    <update>//      <version>2</version>//      <name>baidu_xinwen_1.1.0</name>//      <url>http://gdown.baidu.com/data/wisegame/f98d235e39e29031/baiduxinwen.apk</url>//    </update>    // 通过parseXml()方法,我们可以获取服务器上应用的版本、文件名以及下载地址。    public HashMap<String, String> parseXml(InputStream inStream) throws Exception {        HashMap<String, String> hashMap = new HashMap<String, String>();        // 实例化一个文档构建器工厂        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();        // 通过文档构建器工厂获取一个文档构建器        DocumentBuilder builder = factory.newDocumentBuilder();        // 通过文档通过文档构建器构建一个文档实例        Document document = builder.parse(inStream);        //获取XML文件根节点        Element root = document.getDocumentElement();        //获得所有子节点        NodeList childNodes = root.getChildNodes();        for (int j = 0; j < childNodes.getLength(); j++) {            //遍历子节点            Node childNode = (Node) childNodes.item(j);            if (childNode.getNodeType() == Node.ELEMENT_NODE) {                Element childElement = (Element) childNode;                //版本号                if ("version".equals(childElement.getNodeName())) {                    hashMap.put("version", childElement.getFirstChild().getNodeValue());                }                //软件名称                else if (("name".equals(childElement.getNodeName()))) {                    hashMap.put("name", childElement.getFirstChild().getNodeValue());                }                //下载地址                else if (("url".equals(childElement.getNodeName()))) {                    hashMap.put("url", childElement.getFirstChild().getNodeValue());                }            }        }        return hashMap;    }}





0 0
原创粉丝点击