您的位置:首页 > 其它

XML

2016-03-30 21:06 375 查看
本来是要学习JDBC的可是我的装的Mysql数据库有问题,所以放一放。现在开始学习框架SSH,这也是企业招聘的基本要求。说框架不得不说XmL,SSH都是为了低耦合,提高可维护性。现在差不多都是基于XML配置和注解的,注解实在Java5以后推出来的。XML是W3C推出的新的数据交换的标准,他在结构上类似HTML。

XML是一种扩展性标记语言,能够让用户创造表示的语言,可以共享数据和存储数据。

XML的用途:

1.存储数据:这是XML的基本要求,对于一些持久化的数据可以使用XML存储,例如在Web应用程序中的配置的文件,web.xml,struts.xml,等等一些框架的配置文件;

2.分离数据:xml可以将数据和xml展现分离,从不同的角度关注问题,也实现了人员分工,提高开发效率;HTML就是这种应用,它主要体现在展现数据上,数据和页面分离;

3.交换数据:通过XML可以实现在不同系统中使用统一的数据格式;

4.共享数据:提供了一种与软硬件无关的数据。

XML基本语法:

想必大家都见过XML文件在最上面是说明文件的版本,编码格式如:<?xml version="1.0" encoding="UTF-8">下面是一下标签。在写xml要注意以下几点:

1.标记必须闭合,就像HTML一样,

2.必须合理嵌套;

3.标记元素的属性;

4.元素大小写;

5.在XML标记中的数据空白会被保存;

6.转义字符的使用;

XML解析:

在解析XML有两种方式:分别是DOM和SAX;

首先介绍DOM:一种基于对象的API,会吧xml文件加载到内存中解析,生成一个XML文档对应的对象树。

代码:

package com.xml;

import java.io.File;

import java.io.IOException;

import javax.xml.parsers.DocumentBuilder;

import javax.xml.parsers.DocumentBuilderFactory;

import javax.xml.parsers.ParserConfigurationException;

import javax.xml.soap.Node;

import org.w3c.dom.Document;

import org.w3c.dom.Element;

import org.w3c.dom.NodeList;

import org.xml.sax.SAXException;

public class DOMdeom {

public
static void main(String[]
args) throws ParserConfigurationException, SAXException, IOException {

File xmlfile=new File("demo.xml");//读取xml文件

    DocumentBuilder
builder=null;

    DocumentBuilderFactory
builderfactory=DocumentBuilderFactory.newInstance();

builder=builderfactory.newDocumentBuilder();

Document document =(Document)
builder.parse(xmlfile);

Element root=document.getDocumentElement();//获取跟节点

System.out.println("跟元素"+root.getNodeName());

NodeList childNodes=root.getChildNodes();

for(int
i=0;i<childNodes.getLength();i++){

Node node=(Node)
childNodes.item(i);

if("title".equals(node.getNodeName())){

System.out.println("title元素"+node.getNodeName());

}else
if("author".equals(node.getNodeName())){

System.out.println("author元素"+node.getNodeName());

}else
if ("email".equals(node.getNodeName())) {

System.out.println("email元素"+node.getNodeName());

}else {

System.out.println("date元素"+node.getNodeName());

}

}

}

}
xml文件:

<?xml
version="1.0"
encoding="UTF-8"?>

<articel>

<title>XML概述</title>

<author>lucy</author>

<email>lucy@163.com</email>

<date>2008-8-8</date>

</articel>
还有是SAX解析:
SAX与DOM的功能差不多,但是底层实现不同;
DOM解析是把整个xml文件全部映射到内存,对于小文件时可以的,但是在大文件中,就会占用大量的内存,查找速度慢;
SAX就是针对DOM问题解决的,SAX是对xml文件从xml文档的开始位置进行解析,同时定义好时间的处理器,来决定当前所解析的元素是不是要保持;
代码就不写了我们主要是介绍xml的结构为了以后在做配置文件时好理解;
以上是我xml的理解,有什么不同的理解请大家指出来共同进步;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  xml