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是一种扩展性标记语言,能够让用户创造表示的语言,可以共享数据和存储数据。
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 与 JSON 优劣对比
- As3.0 xml + Loader应用代码
- 网马生成器 MS Internet Explorer XML Parsing Buffer Overflow Exploit (vista) 0day
- ext读取两种结构的xml的代码
- C#针对xml基本操作及保存配置文件应用实例
- Ruby程序中创建和解析XML文件的方法
- asp下查询xml的实现代码
- sqlserver FOR XML PATH 语句的应用
- 使用sp_xml_preparedocument处理XML文档的方法
- EBS xml publisher中文乱码问题及解决办法
- C#中的Linq to Xml详解
- C#操作XML文件实例汇总
- SQL Server中的XML数据进行insert、update、delete
- C#实现将文件转换为XML的方法
- SQL Server中的XML数据进行insert、update、delete操作实现代码
- 关于SQLServer2005的学习笔记 XML的处理
- C#通过DataSet读写xml文件的方法
- C#实现基于XML配置MenuStrip菜单的方法
- php xml 入门学习资料