本来是要学习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的理解,有什么不同的理解请大家指出来共同进步;