XML(eXtended Markup Language,可扩展的标记性语言)提供了一套跨平台,跨网络,跨程序的语言的数据描述方式,使用XML 可以方便地实现数据交换,系统配置,内容管理等常见功能。

所有的XML 文件都由前导区和数据区两部分组成.

前导区:规定出XML 页面的一些属性,其中有以下3 个属性:

version: 表示使用的XML 版本,现在是1.0。

encoding: 页面中使用的文字编码,如果有中文,则一定要指定编码。

standalone: 此XML 文件是否是独立运行,如果需要进行显示可以使用CSS 或XSL 控制。

数据区:所有的数据区必须有一个根元素,一个根元素下可以存放多个子元素,但是要求每一个元素必须完结,每一个标记都是区分大小写的。

在XML 文件中由于更多的是描述信息的内容,所以在得到一个XML 文档后应该利用程序按照其中元素的定义名称取出对应的内容,这样的操作就称为XML 解析。在XML 解析中,W3C 定义了SAX 和DOM 两种解析方式。

W3C(World Wide Web Consortium) 是一个非营利性的组织。

DOM 解析操作:在应用程序中,基于DOM(Document Object Model, 文档对象模型)的XML 分析器将一个 XML 文档转换成一个对象模型的集合(通常称为DOM 树),应用程序正是通过对这个对象模型的操作,来实现对XML 文档数据的操作。通过DOM 接口,应用程序可以在任何时候访问XML 文档中的任何一部分数据,因此,这种利用DOM 接口的机制也被称为 随机访问机制。

DOM 解析中有以下4个核心的操作接口:

Document:此接口代表了整个XML 文档,表示整颗DOM 树的根,提供了对文档中的数据进行访问和操作的入口,通过Ducument 节点可以访问XML 文件中的所有的元素内容。

Dode:此接口在整个DOM 树中具有举足轻重的地位,DOM操作的核心接口中有很大一部分接口是从Node 接口继承过来的。在DOM 树中,每一个Node 接口代表了DOM 树中的一个节点。

DodeList: 此接口表示一个节点的集合,一般用于表示有顺序关系的一组节点。

NamedNodeMap:此接口表示一组节点和其唯一名称对应的一一对应关系,主要用于属性节点的表示。

除了以上4个核心接口外,如果一个程序需要进行DOM 解析读操作,则需要按照如下步骤进行:

(1)建立DocumentBuilderFactory:DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();

(2)建立DocumentBuilder: DocumentBuilder builder= factory.newDocumentBuilder();

(3)建立Document: Document doc = builder.parse("要读取的文件路径");

(4)建立DodeList: NodeList nl = doc.getElementsByTagName("读取节点");

(5)进行XML 信息读取。

DOM 操作不仅可以读取文件,本身也可以生成和修改XML 文件,这些操作在以后的开发中经常会使用到。

SAX(Simple APIx for XML,操作XML 的简单接口) 与DOM操作不同的是,SAX 采用的是一种顺序的模式进行访问,是一种快速读取XML 数据的方式,当使用SAX 解析器进行操作时会触发一系列的事件。当扫描到文档(Document) 开始与结束、元素(Element) 开始与结束时都会调用相关的处理方法,并由这些操作方法作出相应的操作,直至整个文档扫描结束。

DOM 解析适合于对文件进行修改和随机存取的操作,但是不适合于大型文件的操作。

SAX 采用部分读取的方式,所以可以处理大型文件,而且只需要从文件中读取特定内容,SAX 解析可以由用户自己建立自己的对象模型。

DOM 与 SAX 的结合---JDOM

最出色的解析工具:DOM4J

java xml开发_JavaWeb开发(XML简介)---3相关推荐

  1. java ssm框架_JavaWeb开发SSM框架搭建详解

    1.需要用到的jar包:由于很多的jar包不好下载,我直接上传到百度网盘: 很多,而且不好下载,我已经整理好好了: 关于SSM框架:以前的博客有介绍过 第一步:创建Dynamic Web Projec ...

  2. java国际化软件_JavaWeb开发——软件国际化(动态元素国际化)

    软件国际化的第二个部分,就是动态元素国际化. 数值,货币,时间,日期等数据由于可能在程序运行时动态产生,所以无法像文字一样简单地将它们从应用程序中分离出来,而是需要特殊处理.Java 中提供了解决这些 ...

  3. java keypress事件_javaweb开发-js代码中keypress事件调用判断,取得keyCode值

    在js代码中的一段代码,keypress事件调用的函数中的代码. var keyCode = event.keyCode ? event.keyCode : event.which ? event.w ...

  4. java web前端_JavaWeb前端: JavaScript 简介

    JavaScript基本概念 什么是JavaScript JS是运行在浏览器里的解释性语言,能实现浏览器端和用户的直接交互(HTML输出/响应事件/改变HTML内容图像样式):除了变量不区分类型以外, ...

  5. java property xml,Java开发中读取XML与properties配置文件的方法

    相关阅读: 1. XML文件: 什么是XML?XML一般是指可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言. 2.XML文件的优点: 1)XML文档内容和结构完 ...

  6. java xml 读取库_Java开发中读取XML与properties配置文件的方法

    相关阅读: 1. XML文件: 什么是XML?XML一般是指可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言. 2.XML文件的优点: 1)XML文档内容和结构完 ...

  7. Java框架开发基础-解析XML文件

    认识XML |----XML编写要求: XML声明: 1.XML声明用于指明当前文件为XML文件,文件采用的XML版本和编码. 2.<?xml version="1.0" e ...

  8. java web 开发——第一章jsp简介

    目录 前言 1.1 JSP的概念? 1.2 安装和配置JSP运行环境 1.2.1 下载tomcat9.0 1.2.2 下载安装jdk并配置jdk环境 1.2.3 测试tomcat是否安装成功 1.3 ...

  9. Java更新XML的四种常用方法简介

    http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=393702 本文简要的讨论了Java语言编程中更新XML文档的四种常用方法,并且分 ...

最新文章

  1. 学习UI设计能做什么
  2. .NET Core 2.1改进了性能,并提供了新的部署选项
  3. 15年IT研发老兵的困惑,生存与生活的状态
  4. vue each_Vue.js从零开始——模块化项目(2)
  5. android fragment addtobackstack,Android Fragment Back Stack的问题
  6. 11个高效的VS调试技巧
  7. (转)JS页面间传值
  8. 输入两个电阻的值a和b,求它们并联和串联的电阻值。求并联电阻公式:a*b/(a+b),求串联的公式为:a+b。
  9. 华创e路航固件_华创e路航地图官方版
  10. ubuntu 安装caj阅读器
  11. 系统垃圾清理bat文件
  12. gwt 测试_GWT应用程序的单元和集成测试
  13. 解决Pycharm挂代理后依旧插件下载慢
  14. 以太坊智能合约开发语言 - Solidity
  15. gnome黑屏 ubuntu_记Ubuntu开机黑屏及解决过程
  16. 计算机学期总结与学业计划,计算机教学工作总结以及来年计划范文
  17. unity 查找游戏中隐藏的物体
  18. 关系模式的完整性约束
  19. “唯一艺术数字藏品“小程序被下架,数字藏品服务边界在哪
  20. html5充值页面(Vue)

热门文章

  1. treegrid修改css
  2. LeetCode-124.二叉树中的最大路径和
  3. Win10系列:C#应用控件基础12
  4. mysql 慢查询日志记录
  5. Entity Framework4.1实现动态多条件查询、分页和排序
  6. SQL Server 2008空间数据应用系列五:数据表中使用空间数据类型
  7. 【Linux】监视gpu使用情况
  8. 【深度学习】有效防止过拟合
  9. mysql启动成功但是没有进程_zabbix_server表面启动成功,但是没有进程
  10. Vmware 15 安装 win7 虚拟机 (初学者操作与详解教程)