Java---xml解析
来源:互联网 发布:盛发概预算软件 编辑:程序博客网 时间:2024/06/08 08:31
1.xml:可扩展性标记语言
1)概念:可扩展:标签名可以自定义
命名规范:不能纯数字(同Java),严格区分大小写
2)功能:用作配置文件和用作网络中的数据传输的载体:xml和Json
Json:一般用于移动端,体积小
xml:一般用于移动端
3)语法:新建文本文件,后缀名为.xml
组成:文档声明:<?xml version="1.0" encoding="UTF-8"?>
根标签:有且只有一个根标签
2.解析xml
<1>:解析思想1):Dom:文档对象类型.将文档的各个组成部分抽取为一个对象
element:标签对象 attribute:属性对象 text:文本属性 comment:注释属性 Node:节点属性 Document:文本对象
解析:将文档一次性加载进入内存,然后将文档各个组成抽取为对象
优点:可对文档进行增删改查---缺点:消耗内存,使用与PC端
解析思想2):SAX解析:基于事件逐行进行解析,一次读取一行,释放一行
优点:不占内存,适用于移动端---缺点:只能查,不可以增删改
<2>常见的xml解析器:Dom4J:第三方jar包,支持Dom思想
Pull解析器:第三方jar包,支持Sax思想
<3>Dom4J解析的步骤
1.导入Dem4Jjar包
2.写student.xml文件
3.创建解析器对象 Reader reader=new SAXReader(new FileInputStream("student.xml"));
4.获取节点对象
SAXReader reader = new SAXReader(); Document doc = reader.read(new FileInputStream("student.xml"));5.获取标签对象及其文本值
//读取文件SAXReader reader = new SAXReader();Document doc = reader.read(new FileInputStream("sadc.xml"));//1.获取所有的节点Iterator<Node> nodes = doc.nodeIterator();while(nodes.hasNext()){Node next = nodes.next();System.out.println(next.getName());}//获取根节点Element root = doc.getRootElement();//获取根节点的子标签root.element("标签名");//获取所有的子标签//方式1.List list = root.elements();//方式2:Iterator iteraor = root.elementIterator();//2.获取所有的属性对象Element stu = root.element("student");Attribute id = stu.attribute("属性名id");//获取属性的值String idValue = root.element("student").attributeValue("属性名id");//通过迭代的方式获取属性对象Iterator iterator = root.element("student").attributeIterator();//3.获取标签下的文本//方式1:此标签对象+getText()方法String name = root.element("student").element("name").getText();//方式2:上层标签+elementText()方法String name2 = root.element("student").elementText("name");
阅读全文
0 0
- [xml]java解析xml ,怀旧
- java解析xml 克隆xml
- Java解析XML (DOM解析XML)
- xml解析---Java解析xml文件
- java 解析 xml文件
- java 解析xml
- JAVA解析XML DOM
- java如何解析xml
- JAVA解析XML DOM
- java 解析XML
- JAVA解析xml
- java解析xml字符串
- Java解析XML文档
- JAVA 解析XML文档
- JAVA解析XML DOM
- java解析Xml
- java jdom 解析xml
- java解析XML
- servlet的生命周期是什么?jsp都有哪些对象和动作?
- 格式化字符串
- oracle 转换日期
- 隐藏alert和confirm弹出框的IP
- Hibernate 得到 1对多时 layz的值
- Java---xml解析
- Oracle基本知识
- mysql 批量插入数据 insert 语句太长
- 读入优化
- Java线程
- HttpClient jar包使用详解
- 如果在执行某个类的时候抛内存溢出
- MySQL order by性能优化
- OSG 显示3D模型以及对应模型切层的2D效果