2.xml中Dom解析实例

1.Dom解析的原理
(xml解析引擎加载完毕xml文件时),会把xml文件中的各个部分封装成节点对象,然后通过节点对象获取或者设置标签,属性,文本内容,这就是dom解析模型)
2.Dom解析的步骤和工具
 1)去官网下载dom4j-1.6.jar.zip包。
 2)在项目导入dom4j的jar包。核心包dom4j-1.6.jar包即可
 3)编写测试类。读取xml文件
3.使用Dom4j解析xml
 public  static  void   myDOMXML() throws  Exception{
        System.out.println("在项目需要频繁把xml文档封装成对象");
        //使用集合的功能 (arraylist的使用)
        List contacts = new ArrayList();
        //1.创建SAXReader(解析器对象)
        SAXReader reader = new SAXReader();
        //2.调用reader方法l
        Document doc = reader.read(new File("contact.xml"));
        System.out.println(doc);
        //获取全部的标签
        Iterator it = doc.getRootElement().elementIterator("contact");
        while (it.hasNext()){
            //得到了一个xml的对象了
            Element conElem = it.next();
            //创建对象
            Contact contact = new Contact();
            //2.2 把contact标签数据放入Contact对象
            //id
            contact.setId(conElem.attributeValue("id"));
            //name
            contact.setName(conElem.element("name").getText());
            //gendenr
            contact.setName(conElem.element("gender").getText());
            //加入到集合中去了
            contacts.add(contact);
        }
        //变量集合看看
        System.out.println("集合的个数"+contacts.size());
        for (Contact contact : contacts) {
            System.out.println(contact);
        }
    }
4.使用dom4j解析工具读取xml文件
1. 得到xml文档信息
   SAXReader类: read():读取xml文档
2.节点信息:
   nodeIterator(): 获取当前标签下的子节点
3.标签信息:
   getName(): 得到标签名称
   element(name); 获取当前标签下的指定名称的第一个子标签
   ementIterator(name); 获取当前标签下的指定名称的所有子标签
   elements();    获取当前标签下的所有子标签
4.属性信息:
  attributeValue(name): 获取指定属性名的属性值
  attribute(name); 获取指定属性名的属性对象
  attributes(): 获取所有属性对象。返回List集合
  attributeIterator(): 获取所有属性对象。返回Iterator
  getName():获取属性名称
  getValue(): 获取属性值
5.文本信息:
  getText(): 获取标签的文本内容

你可能感兴趣的:(2.xml中Dom解析实例)