JavaWeb基础: XML基础知识
简介
XML:可扩展标记语言,W3C指定的用于描述结构化数据的语言,XML在实际开发中,经常用作软件的配置文件,以描述程序模块之间的依赖和组合关系。
XML约束:XML常常用于软件配置管理,对于软件框架需要约定配置文件的格式才能保证软件正常启动,因此需要XML约束技术,XML约束技术有两种:DTD和Schema。
XML语法
- 文档申明
- 元素
- 属性
- 注释
- CDATA区,特殊字符
- 处理指令
XML文档申明
文档申明是XML必须的元素, 通常在XML文件第一行就需要写文档申明。缺乏文档申明的XML,就是一个格式不良好的文件。实际操作中,常常用IE做XML校验,如果IE无法打开XML文件,就说明XML文件格式有错误。
<?xml version="1.0"?>
文档申明可以用encoding说明字符编码,如果有中文内容,需要加入encoding属性,不然IE打开容易报“有无法识别内容“的错误。这里编码必须考虑本地操作系统的编码类型,在创建XML文件时,记事本或者是其它编辑软件会把内容保存为操作系统默认的编码类型(中文操作系统的默认编码是GB2312),程序在解析的时候需要和保存的编码保持一致才不会造成内容无法识别。因此对于中文系统上创建的文件,XML要能够被正确打开和解析,编码方式必须写为GB2312。另外一种保持编码格式一致的方式就是:保存时就制定保存格式为UTF-8, encoding 也指定为UTF-8(实际中为了通用性,通常采用UTF-8的方式).eclipse 会自动根据encoding编码转换,采用eclipse开发xml可以避免此问题;用技术本/Notepad++就需要考虑编码问题。
<?xml version="1.0" encoding="GB2312"?>
文档申明使用standalone标记来说明文档是否独立,如果是no的话,说明此文档依赖于其它文档
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
XML元素和属性
XML元素指XML中的标签,有如下规范:
- XML文档中出现的标签,标签必须有开始和结束。
- XML标签可以嵌套子标签,但是不能交叉嵌套。
- XML文档有且仅有一个根标签,其它的标签都是根标签的子标签。
- 空格和换行都会被当作XML的内容解析,在编写XML解析时必须考虑空格和换行
- 标签名区分大小写,可包含数字和字母,必须以数字开头。
XML属性指的是标签中的属性,有如下规范:
一个标签可以有多个属性,属性的命名和标签命名规范相同,属性可以被改造为子标签(子元素)。
XML注释 & CDATA区 & 处理指令
xml 注释语法: <!-- -->
CDATA:解析引擎不解析的内容,被CDATA包围起来的内容XML引擎不会去解析。
处理指令:指挥解析引擎如何解析XML,常用于CSS控制XML显示的场合, 用于排版,设计这个功能的初衷是用XML代替HTML,因此有格式排版。
<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="sample.css"?>
<rootElement>
<element1 attribute="value">
</element1>
</rootElement>
XML 约束(DTD)
DTD:Document Type Definition,
<?xml version="1.0"?>
<!ELEMENT bookstore (book+)>
<!ElEMENT book(bookname,bookauthor,price)>
<!ElEMENT bookname(#PDATA)>
<!ElEMENT bookauthor(#PDATA)>
<!ElEMENT price(#PDATA)>
在XML中使用DTD
<?xml version="1.0"?>
<!DOCTYPE rootElemetXXX SYSTEM XXX.dtd>
XML约束(Schema)
JavaWeb基础: XML基础知识的更多相关文章
- JavaEE XML 基础知识
JavaEE XML 基础知识 @author ixenos 1. XML开头都需要一个声明 <?和?>表明这是一个处理指令 <?xml version=”1.0” encod ...
- JavaWeb学习日记----XML基础
1.XML基础: XML全称为eXtensible Markup Language;即可扩展标记型语言,同HTML一样使用标签来操作.它的可扩展性体现在标签可以由自己定义,可以是中文标签. XML用途 ...
- .net学习笔记---xml基础知识
一.XML简介 XML是一种标记语言,用于描述数据,它提供一种标准化的方式来来表示文本数据.XML文档以.xml为后缀.需要彻底注意的是XML是区分大小写的. 先从一个简单的XML例子来了解下xml基 ...
- JavaWeb开发技术基础概念回顾篇
JavaWeb开发技术基础概念回顾篇 第一章 动态网页开发技术概述 1.JSP技术:JSP是Java Server Page的缩写,指的是基于Java服务器端动态网页. 2.JSP的运行原理:当用户第 ...
- XML 参考:XML基础 XML 简介
XML 参考:XML基础 -- XML简介和用途 转:http://www.cnblogs.com/Dlonghow/archive/2009/01/22/1379799.html XML 参考:XM ...
- XML基础概念
XML基础概念 一.什么是XML. 可扩展标记语言(EXtensible Markup Language),标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言. 二.XML特点 1 ...
- xml基础小结
XML基础 1)XML的作用 1.1 作为软件配置文件 1.2 作为小型的“数据库” 2)XML语法(由w3c组织规定的) 标签: 标签名不能以数字开头,中间不能有空格,区分大小写.有且仅有一个根标签 ...
- XML基础<第一篇>
一.XML简介 XML是一种标记语言,用于描述数据,它提供一种标准化的方式来来表示文本数据.XML文档以.xml为后缀.需要彻底注意的是XML是区分大小写的. 先从一个简单的XML例子来了解下xml基 ...
- JavaWeb:前端开发基础
JavaWeb:前端开发基础 内联元素和块级元素 说明: 联元素和块级元素都是html中的范畴,块元素和内联元素的主要差异是块元素是从新的一行开始.而内联元素一般显示在一行上.但是可以通过css的di ...
随机推荐
- 如何安装mysql服务
我刚开始安装mysql的时候,在windows的服务里面可以看到,但是装了以后有一段时间没有用它了,我在准备从windows的服务里面启动mysql服务的时候,发现没有mysql的服务了,那我的解决办 ...
- iOS中的#ifdef DEBUG为什么会在didFinishLaunchingWithOptions之前执行
#ifdef DEBUG ...程序段1... #else ...程序段2... #endif 这表明如果标识符DEBUG已被#define命令定义过则对程序段1进行编译:否则对程序段2进行编译.#i ...
- 浏览器浏览记忆(history)几则技巧记录
一般浏览记录模式 假设有三个页面, start.html, 通过点击start.html上的链接跳转到 first.html, 然后点击first.html上链接跳转到 second.html, 那么 ...
- EBS R12.2应用层启动脚本的执行过程
$ pwd /app/oracle/apps/VIS/fs1/inst/apps/VIS_erptest/admin/scripts $ ./adstrtal.sh apps/apps You are ...
- 循环编辑文件夹IBMEmptorisSSM-WSDL 下面的所有的wsdl文件到 d盘的wsdlSource下
@echo off cd C:\Program Files\Java\jdk1.6.0_45\binfor /R "D:\wqcCode\company\emtproj\02 Require ...
- 如何设置一个严格30分钟过期的Session(转载)
本文地址: http://www.laruence.com/2012/01/10/2469.html 今天在我的微博(Laruence)上发出一个问题: 我在面试的时候, 经常会问一个问题: &quo ...
- ajax 使用
写在前面的话: 用了很久的Asp.Net Ajax,也看了段时间的jquery中ajax的应用,但到头来,居然想不起xmlHttpRequest的该如何使用了. 以前记的也不怎么清楚,这次就重新完整的 ...
- Java语言的特点
一. 面向对象:其实是现实世界模型的自然延伸.现实世界中任何实体都可以看作是对象.对象之间通过消息相互作用.另外,现实世界中任何实体都可归属于某类事物,任何对象都是某一类事物的实例.如果说传统的过程式 ...
- redis windows下的环境搭建
先说下安装吧!感觉这东西跟mongodb差不多,安装和布置挺简单,下载地址:https://github.com/dmajkic/redis/downloads 下载下来的包里有两个,一个是32位的, ...
- WordPress实现登录或退出后直接跳转到首页的方法
现在Wordpress是登录之后跳回到我们上次查看的页面,那么要如何修改它登录之后直接跳回到首页呢,这里就来给给大家详细介绍一下解决方法. 首先定位到登录链接所在位置,你会看到类似下面的代码: 复制代 ...