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 ...
随机推荐
- 【转】给npm设置代理
可以运行如下两句命令设置代理,注意代理的地址改为自己实际可用的代理. npm config set proxy=http://127.0.0.1:8087 npm config set registr ...
- RabbitMQ学习总结 第三篇:工作队列Work Queue
目录 RabbitMQ学习总结 第一篇:理论篇 RabbitMQ学习总结 第二篇:快速入门HelloWorld RabbitMQ学习总结 第三篇:工作队列Work Queue RabbitMQ学习总结 ...
- 使用Go开发web服务器
原文链接 Go(Golang.org)是在标准库中提供HTTP协议支持的系统语言,通过他可以快速简单的开发一个web服务器.同时,Go语言为开发者提供了很多便利.这本篇博客中我们将列出使用Go开发HT ...
- Qt5程序参数包含中文GBK编码的问题
1.背景 Qt5程序(WeekReport.exe)的main函数里有如下代码: //only for test int main(int argc, char *argv[]) { QCoreApp ...
- 人工智能系统Google开源的TensorFlow官方文档中文版
人工智能系统Google开源的TensorFlow官方文档中文版 2015年11月9日,Google发布人工智能系统TensorFlow并宣布开源,机器学习作为人工智能的一种类型,可以让软件根据大量的 ...
- 五、Standard Controllers
1.standardController:标准的controller 是同页面的standard Object的界面button的功能和逻辑是一样的<apex:page standardCont ...
- 关于C#中的new的用法
修饰符:隐藏基类中的成员(是基类中的成员,所以字段.属性.事件等等都可以隐藏,不单单是方法哦) public class Car { public void WriteName(string name ...
- GAT2.0使用文档(单接口开发)
3 开始写用例 3.1接口用例开发 1) 准备工作 l 第一步从github(https://github.com/GeneralAutomationTesting/GAT2.0 ...
- Linux和Windows下ping命令详解(转:http://linux.chinaitlab.com/command/829332.html)
一.Linux下的ping参数 用途 发送一个回送信号请求给网络主机. 语法 ping [ -d] [ -D ] [ -n ] [ -q ] [ -r] [ -v] [ \ -R ] [ -a add ...
- Java程序员开发参考资源
构建 这里搜集了用来构建应用程序的工具. Apache Maven:Maven使用声明进行构建并进行依赖管理,偏向于使用约定而不是配置进行构建.Maven优于Apache Ant.后者采用了一种过程化 ...