xml提供一套跨平台, 跨网络,跨程序的数据描述语言,使用xml可以方便的实现数据交换,系统配置,内容管理等常见功能。
基本格式
studeng,name,sex,age为元素节点
id="001"为属性节点
张三 为文本节点
张三
男
20
DOM方式解析XML
把整个XML文档加载到内存,转化为DOM树,应用程序可以随机访问DOM树的任何数据
优点灵活性强,速度快
缺点 消耗资源比较多
文档构建工厂
factory单例方式获取实例
newDocumentBuilder 文档构建模型
parse解析配置获取xml文档
getElementsByTagName通过标签名字获取dom节点
nodeList.item(0)获取第一个...元素
getFirstChild 获取第一个子节点 张三 getNodeValue获取值
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
public static void main(String[] args) {
DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
try {
DocumentBuilder builder=factory.newDocumentBuilder();
Document doc=builder.parse("src/student.xml");
NodeList nodeList=doc.getElementsByTagName("student");
Element e=(Element)nodeList.item(0);
System.out.println("姓名:"+e.getElementsByTagName("name").item(0).getFirstChild().getNodeValue());
System.out.println("性别:"+e.getElementsByTagName("sex").item(0).getFirstChild().getNodeValue());
System.out.println("年龄:"+e.getElementsByTagName("age").item(0).getFirstChild().getNodeValue());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
解析属性
张三
男
20
李四
女
21
getAttributes 获取node节点的所有属性
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public static void printNodeAttr(Node node){
NamedNodeMap namedNodeMap=node.getAttributes();
for(int i=0;i
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?