XML

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值