一、xml简介
为什么使用XML文件?不同系统间通信、不同软件间通信、不同平台间通信使用xml文件
XML文件用来存储数据和传输数据
1、.xml为扩展名
2、存储:树形结构
3、XML的主要用途:用于不同平台、不同设备间的数据共享通信
不同应用程序之间通信、传输信息(订票程序和支付程序)
不同系统间的通信(例:Windows系统和IOS系统)
不同平台间的数据共享(手机端和PC端)
不同APP之间的通信,不同的平台间的通信,不同平台间的数据共享。XML文件主要用于存储以及传输信息。
通过xml文件存储小型数据。
二、基本写法
1、 id为属性, 1 id为节点
2、xml文件开头要加上版本信息和编码方式<?xml version="1.0" encoding="UTF-8"?>
获取xml文件内容的
四种解析方式:DOM SAX DOM4J JDOM
DOM、SAX :java 官方方式,不需要下载jar包
DOM4J、JDOM :第三方,需要网上下载jar包
DOM方式解析XML步骤:
准备工作:
1、创建一个DocumentBuilderFactory的对象
DocumentBuilderFactory dbf = DocumnetBuilderFactory.instance();
2、创建一个DocumentBuilder的对象
DocumentBuilder db = dbf.newDocumentBuilder();
3、通过DocumentBuilder对象的parse方法加载xml文件到当前项目
Document document = db.parse("*.xml");
在不知道节点属性的个数和属性名时:
1、通过document.getElementByTagName("标签名")获得所有标签名的节点,得到一个NodeList集合
2、通过NodeList.getLength()获得集合长度,遍历集合
3、Node node = NodeList.item(index)获得里面的节点
4、通过NamedNodeMap attrs = node.getAttributes()获取所有属性集合
5、通过attrs.getLength()遍历集合,Node attr = atrrs.item(index)
6、attr.getNodeName()获得属性名,attr.getNodeValue()获取属性值
前提已经知道book节点有且只有1个id属性,将book节点进行强制类型转换,转换成element类型。
1、通过document.getElementByTagName("标签名")获得所有标签名的节点,得到一个NodeList集合
2、通过NodeList.getLength()获得集合长度,遍历集合
3、element book=(element)bookList.item(i);//强制转换为element类型
4、String attrValue = book.getAttribute("id");