XML文件多用于信息的描述,所以在得到一个xml文档之后按照xml中的元素取出对应的信息就是xml的解析。其中一个xml文件 只能有一个根元素。 结构如下图所示:
一、概念
XML文件格式是一个树形结构。
Xml解析有两种方式:DOM解析、SAX解析。二、DOM解析和SAX解析的区别
一次性把 xml 的文件中 全部数据(1棵大树)读入到内存当中
1>非常浪费内存
2>性能高 支持数据的上下导航 可以定位任意的一次节点
1>帮你节省内存:一次只往内存中读入一个元素(标签)
——-问你 要不要处理 ?处理操作
—— 不处理 就把这个元素从内存中删除掉
2>性能效率低下三、案例
(需要添加set和get方法) private String id; private String name; private String age;
<?xml version="1.0" encoding="UTF-8"?> <students> <student id="1001"> <name>zhangsan</name> <age>8</age> </student> <student id="1002"> <name>lisi</name> <age>8</age> </student> <student id="1003"> <name>wangwu</name> <age>8</age> </student> </students>
package com.gg.demo; import java.util.ArrayList; import java.util.List; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; import org.w3c.dom.NodeList; import com.gg.entity.Student; public class Demo1 { public static void main(String[] args) throws Exception { //1.创建一个解析器工厂对象 DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance(); //2.由这个工厂对象 创建一个解析器对象 DocumentBuilder builder=factory.newDocumentBuilder(); //3.解析器 去解析相应的XML文件 //所有的数据就是document Document document=builder.parse("students.xml"); List<Student> students_list =new ArrayList<Student>(); NodeList students=document.getElementsByTagName("student"); for (int i = 0; i < students.getLength(); i++) { Student student=new Student(); //id属性获取方法 //名字 //students.item(i).getAttributes().item(0).getNodeName(); //值 String id=students.item(i).getAttributes().item(0).getNodeValue(); student.setId(id); //获取 student元素的子元素们 NodeList child_list=students.item(i).getChildNodes(); for (int j = 0; j < child_list.getLength(); j++) { //获取student子元素的名称 只保留name age String node_name=child_list.item(j).getNodeName(); if(node_name.equals("name")) { String name=child_list.item(j).getTextContent(); student.setName(name); } if(node_name.equals("age")) { String age=child_list.item(j).getTextContent(); student.setAge(age); } } students_list.add(student); } //解析完成 for (Student student : students_list) { System.out.println(student); } } }
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算