zoukankan      html  css  js  c++  java
  • DomHelper

    public class DomHelper {
        public static ArrayList<Person> queryXML(Context context)
        {
            ArrayList<Person> Persons = new ArrayList<Person>();
            try {
                //①获得DOM解析器的工厂示例:
                DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
                //②从Dom工厂中获得dom解析器
                DocumentBuilder dbBuilder = dbFactory.newDocumentBuilder();
                //③把要解析的xml文件读入Dom解析器
                Document doc = dbBuilder.parse(context.getAssets().open("person2.xml"));
                System.out.println("处理该文档的DomImplemention对象=" + doc.getImplementation());
                //④得到文档中名称为person的元素的结点列表
                NodeList nList = doc.getElementsByTagName("person");
                //⑤遍历该集合,显示集合中的元素以及子元素的名字
                for(int i = 0;i < nList.getLength();i++)
                {
                    //先从Person元素开始解析
                    Element personElement = (Element) nList.item(i);
                    Person p = new Person();
                    p.setId(Integer.valueOf(personElement.getAttribute("id")));
    
                    //获取person下的name和age的Note集合
                    NodeList childNoList = personElement.getChildNodes();
                    for(int j = 0;j < childNoList.getLength();j++)
                    {
                        Node childNode = childNoList.item(j);
                        //判断子note类型是否为元素Note
                        if(childNode.getNodeType() == Node.ELEMENT_NODE)
                        {
                            Element childElement = (Element) childNode;
                            if("name".equals(childElement.getNodeName()))
                                p.setName(childElement.getFirstChild().getNodeValue());
                            else if("age".equals(childElement.getNodeName()))
                                p.setAge(Integer.valueOf(childElement.getFirstChild().getNodeValue()));
                        }
                    }
                    Persons.add(p);
                }
            } catch (Exception e) {e.printStackTrace();}
            return Persons;
        }
    }
  • 相关阅读:
    Redis 之order set有序集合结构及命令详解
    Redis 之set集合结构及命令详解
    Redis 之list链表结构及命令详解
    Redis 之string结构及命令详解
    Redis 通用key操作命令
    Redis 在Linux下的安装
    Entity FrameWork 操作使用详情
    Linux 之常用操作指令详解
    Linux 之根目录介绍
    php 加密解密函数封装
  • 原文地址:https://www.cnblogs.com/yl-saber/p/7110369.html
Copyright © 2011-2022 走看看