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 ...
随机推荐
- tween.js是一款可生成平滑动画效果的js动画库。tween.js允许你以平滑的方式修改元素的属性值。它可以通过设置生成各种类似CSS3的动画效果。
简要教程 tween.js是一款可生成平滑动画效果的js动画库.相关的动画库插件还有:snabbt.js 强大的jQuery动画库插件和Tweene-超级强大的jQuery动画代理插件. tween. ...
- .NET调用外部接口将得到的List数据,并使用XmlSerializer序列化List对象成XML格式
BidOpeningData.BidSupervisionSoapClient client = new BidOpeningData.BidSupervisionSoapClient(); Dict ...
- Oracle12c:安装后新建用户及其默认表空间,并创建表测试
环境: 操作系统:Windows Server2008 R2 X64 Oracle版本:12c 如何安装? -- oracle 12c在oracle linux 6.6 x64上的安装 -- Wind ...
- URL编码与解码
在项目中碰到了ajax传来的参数,后台接收值乱码(如下图)的问题 在此记录一下 前台: 后台: 解决问题 为什么需要编码 怎样编码 实际出现的问题解决方法 1.为什么需要编码? URL 只能使用 AS ...
- css3实现轮播
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- LeetCode----263. Ugly Number(Java)
package isUgly263; /* * Write a program to check whether a given number is an ugly number. Ugly numb ...
- 隐式意图Intent
在我们想往下一个页面传递数据时,要想到显式意图和隐式意图,显示意图用于内部活动跳转时比较方便,而隐式意图用于应用程序中外部活动的跳转时较为方便,在使用隐式意图时我们要想到清单文件 代码如下: < ...
- 使用HttpClient发送数据 到WebApi
发送和JSON数据 /=============================webAPI接受POST的JOSN数据=============================/ POST api/& ...
- 浅谈 PHP 与手机 APP 开发(API 接口开发)
本文内容转载自:http://www.thinkphp.cn/topic/5023.html 这个帖子写给不太了解PHP与API开发的人一.先简单回答两个问题:1.PHP 可以开发客户端?答:不可以, ...
- # TypeScript 中如何确保 this 的正确性
问题 在 TS 里面 this 关键字一开始让我这个写 C# 的十分惊讶,比如下面的一段代码,注意 initBinding 方法 class Company { id:number; /** * 在点 ...