Java开发之框架基础技术之XML

Java开发之框架基础技术

XML简介
XML是Extensible Markup Language的缩写,即可扩展标记语言,是一种简单的数据存储语言,使用一系列简单的标记来描述结构化数据。
xml的特点:
*XML与操作系统,编程语言的开发平台都无关。
*规范统一,实现不同系统之间的数据交互。
XML技术应用广泛,最基本的如网站,应用程序的配置信息一般采用XML文件描述。


XML文档结构

<?xml version="1.0" encoding="UTF-8"?>
<books>
<!--图书信息-->
<book id="bk101">
	<title>.NET高级编程</title>
	<author>王珊</author>
	<description>包含C#框架和网络编程等</description>
</book>
<book id="bk102">
	<title>.NET基础编程</title>
	<author>李明明</author>
	<description>包含XML基础概念和基本用法</description>
</book>
</books>

XML常见应用
1.XML的出现解决了程序间数据传输的问题:
比如QQ之间的数据传送,用XML格式来传送数据,具有良好的可读性,可维护性

2.XML可以做配置文件
XML文件做配置文件可以说非常普遍,比如我们的Tomcat服务器的server.xml,web.xml。再比如我们的structs中的structs-config.xml文件,和hibernate的hibernate.cfg.xml等等。

3.XML可以充当小型的数据库
XML文件可以做小型数据库,也是不错的选择,我们程序中可能用到一些经常要人工配置的数据,如果放在数据库中读取不合适(因为这会增加维护数据库的工作),则可以考虑直接用XML来做小型数据库。这种方式直接读取文件显然要比读数据库快。比如msn中保存用户聊天记录就是用XML文件。

我们可以用浏览器打开:

在这里插入图片描述


xml文件的解析


package com.xinsi.qi.utils;
 
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;
 
import java.io.File;
import java.util.List;
 
public class Dom4jXml {
    public void test(){
        try {
            File inputFile = new File("F:\\J2EE学习资料\\demoLes03\\web\\WEB-INF\\test.xml");
            SAXReader reader = new SAXReader();
            Document document = reader.read(inputFile);
            System.out.println("Root element :"+document.getRootElement().getName());
 
            Element classElement = document.getRootElement();
 
            List<Node> nodes = document.selectNodes("/class/part[@id='02']");
 
            System.out.println("--------------------");
 
            for (Node node:nodes){
                System.out.println("标签名=:"+node.getName());
                System.out.println("姓名:"+node.selectSingleNode("name").getText());
                System.out.println("年龄:"+node.selectSingleNode("age").getText());
                System.out.println("性别:"+node.selectSingleNode("sex").getText());
            }
        } catch (Exception e1) {
            e1.printStackTrace();
        }
    }
 
}

*首先创建一个xml文件,这里使用的xml文件就是上面的xml例子,使用dom4j,先创建文件,将文件引入。

 File inputFile = new File("F:\\J2EE学习资料\\demoLes03\\web\\WEB-INF\\test.xml");

*再创建dom4j的读取文件类,来读取xml文件

 SAXReader reader = new SAXReader();

*Document是获取根元素类,控制台输出时,如下

System.out.println("Root element :"+document.getRootElement().getName());
输出Root element :root,该文件的根元素名称为root

总结

目前常用的XML解析技术有4种,分别是DOM,SAX,JDOM,和DOM4J。
DOM是Document Object Model的缩写,即文档对象模型。
Oracle公司提供了JAXP(Java API for XML Processing)来解析XML。JAXP会把XML文档转换成一个DOM树。JAXP包含3个包。
*org.w3c.dom:W3C推荐的用于使用DOM解析XML文档的接口。
*org.xml.sax:用于使用SAX解析XML文档的接口。
*javax.xml.parsers:解析器工厂工具,获得并配置特殊的分析器。
DOM4J是一个非常优秀的JavaXML API,具有性能优异,功能强大和易用的特点。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值