简介

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基础知识的更多相关文章

  1. JavaEE XML 基础知识

    JavaEE XML 基础知识 @author ixenos 1.    XML开头都需要一个声明 <?和?>表明这是一个处理指令 <?xml version=”1.0” encod ...

  2. JavaWeb学习日记----XML基础

    1.XML基础: XML全称为eXtensible Markup Language;即可扩展标记型语言,同HTML一样使用标签来操作.它的可扩展性体现在标签可以由自己定义,可以是中文标签. XML用途 ...

  3. .net学习笔记---xml基础知识

    一.XML简介 XML是一种标记语言,用于描述数据,它提供一种标准化的方式来来表示文本数据.XML文档以.xml为后缀.需要彻底注意的是XML是区分大小写的. 先从一个简单的XML例子来了解下xml基 ...

  4. JavaWeb开发技术基础概念回顾篇

    JavaWeb开发技术基础概念回顾篇 第一章 动态网页开发技术概述 1.JSP技术:JSP是Java Server Page的缩写,指的是基于Java服务器端动态网页. 2.JSP的运行原理:当用户第 ...

  5. XML 参考:XML基础 XML 简介

    XML 参考:XML基础 -- XML简介和用途 转:http://www.cnblogs.com/Dlonghow/archive/2009/01/22/1379799.html XML 参考:XM ...

  6. XML基础概念

    XML基础概念 一.什么是XML. 可扩展标记语言(EXtensible Markup Language),标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言. 二.XML特点 1 ...

  7. xml基础小结

    XML基础 1)XML的作用 1.1 作为软件配置文件 1.2 作为小型的“数据库” 2)XML语法(由w3c组织规定的) 标签: 标签名不能以数字开头,中间不能有空格,区分大小写.有且仅有一个根标签 ...

  8. XML基础<第一篇>

    一.XML简介 XML是一种标记语言,用于描述数据,它提供一种标准化的方式来来表示文本数据.XML文档以.xml为后缀.需要彻底注意的是XML是区分大小写的. 先从一个简单的XML例子来了解下xml基 ...

  9. JavaWeb:前端开发基础

    JavaWeb:前端开发基础 内联元素和块级元素 说明: 联元素和块级元素都是html中的范畴,块元素和内联元素的主要差异是块元素是从新的一行开始.而内联元素一般显示在一行上.但是可以通过css的di ...

随机推荐

  1. RDIFramework.NET ━ 9.6 模块(菜单)管理 ━ Web部分

    RDIFramework.NET ━ .NET快速信息化系统开发框架 9.6  模块(菜单)管理 -Web部分  模块(菜单)管理是整个框架的核心,主要面向系统管理人员与开发人员,对普通用户建议不要授 ...

  2. windows环境同时连多个openvpn配置

    根据同事的经验分享:   环境: os:windows7 vpn: openvpn5   1. 进入"设备管理器" 2. 选择"操作" —> " ...

  3. react-native 计算时间差

    //计算时间var sendTime = this.props.obj.send_time; console.log(sendTime); //当前时间var nowTime = (new Date( ...

  4. phpstorm-----------如何激活phpstorm2016

    新版激活方法: 1.在线激活 菜单help >>>> Register 选择License Server 输入 http://idea.qinxi1992.cn/ 点击ok 2 ...

  5. Elasticsearch(入门篇)——Query DSL与查询行为

    ES提供了丰富多彩的查询接口,可以满足各种各样的查询要求.更多内容请参考:ELK修炼之道 Query DSL结构化查询 Query DSL是一个Java开源框架用于构建类型安全的SQL查询语句.采用A ...

  6. shell调试

    sh -x set -x 中间是要调试的代码 set +x

  7. 2x2矩阵相乘模版

    由于Unity只有4x4矩阵,今天要做一个2x2矩阵的旋转,居然忘了顺序.故写下作为模版记录. 顺序: 下面是使用其进行旋转的C#代码: public struct Position { public ...

  8. Underscore.js 初探

    一. 简介   Underscore 这个单词的意思是“下划线”.   Underscore.js 是一个 JavaScript 工具库,提供了一整套的辅助方法供你使用.   Think that - ...

  9. Web Performance Test : IP切换/IP欺骗

    译者前言 本文翻译自<Visual Studio Performance Testing Quick Reference Guide 3.6> 有关于IP Switching的章节.< ...

  10. SSH服务器拒绝密码检测

    这两天在配置Ubuntu 14.04的环境时,碰到一个典型的问题:在用xshell 连接Ubuntu时,显示"SSH服务器拒绝密码检测"的问题,在经过一系列配置修改后,最终怀疑是否 ...