xml:extensible markup language(可扩展标记语言),xml是由w3c组织发布.

在现实生活中,存在大量有关系的数据. 如下:

那么,这样的数据如果交给计算机处理呢?

xml的出现就是为了描述生活中经常出现的有关系的数据。

在xml语言中,它允许用户自定义标签。一个标签用于描述一段数据;一个标签可分为开始标签和结束标签。在开始标签和结束标签之间,又可以使用其他标签来描述其他数据,以此来实现数据关系的描述。

xml技术除了用于保存有关系的数据之外,它还经常用作软件配置文件,以描述程序模块之间的关系。

编写xml文档:

在编写xml文档时,需要先使用文档声明,声明xml文档的类型。

最简单的声明语法:  <?xml version="1.0" ?>

可以使用encoding属性说明文档的文字编码 <?xml version="1.0" encoding="UTF-8"?>

用standalone属性说明文档是否独立 <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>

元素:

xml元素是指xml中出现的标签。一个标签有如下几种书写形式。

包含标签体: <a>www.csdn.com</a>

不包含标签体:<a></a> 简写为<a/>

元素命名规范: 1. 元素区分大小写. <p>和<P>是两个不同的标记.     2. 不能以数字和"_"(下划线)开头

3. 不能以xml开头   4. 不能包含空格    5. 名称中间不能包含冒号(:)

属性:

一个标签可以有多个属性,每个属性都有它自己的名称和取值.

例如 <input name="text">

属性值一定要用单引号或双引号括起来。

定义属性必须遵循和标签相同的命名规范。

在xml技术中,标签属性所代表的信息,也可以被改成用子元素的形式来描述,例如:

<input>

<name>text</name>

</input>

处理指令:

处理指令简称PI(processing instruction).处理指令用来指挥解析引擎如何解析xml文档内容。

例如: 在xml文档中可以使用xml-stylesheet指令,通知xml解析引擎,应用css文件显示xml文档内容。

<?xml-stylesheet type="text/css" href="1.css"?>

处理指令必须以"<?"开头,以"?>"作为结尾,xml声明语句就是最常见的一种处理指令。

xml约束:

在xml技术里,可以编写一个文档来约束一个xml文档的书写规范,这称之为xml约束。

常见的约束技术:

xml dtd,  xml schema

DTD(document type definition) 全称为: 文档类型定义

dtd约束既可以作为一个单独的文件编写,也可以在xml文件内编写。

①dtd约束既可以作为一个单独的文件编写

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE country SYSTEM "province.dtd"><country><province><name>上海</name><nickname>沪</nickname></province><province><name>河南</name><nickname>豫</nickname></province></country>

如下为: province.dtd文件

<!ELEMENT country (province+)>
<!ELEMENT province (name,nickname)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT nickname (#PCDATA)>

ps: dtd文件应该使用UTF-8 或unicode保存

在IE浏览器中打开xml文件,ie浏览器不会自动校验xml是否遵循dtd约束,那么就需要我们自己编写一个html文件,使用javascript来校验xml文件。

<html><head><meta charset="utf-8"><script>var xmldoc = new ActiveXObject("Microsoft.XMLDOM");xmldoc.validateOnParse = true;xmldoc.load("config.xml");document.write("错误的原因:"+xmldoc.parseError.reason+"<br/>");document.write("错误的行号:"+xmldoc.parseError.line);</script></head><body></body>
</html>

② 在xml文件内编写dtd

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE country[
<!ELEMENT country (province+)>
<!ELEMENT province (name,nickname)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT nickname (#PCDATA)>
]>
<country><province><name>上海</name><nickname>沪</nickname></province><province><name>河南</name><nickname>豫</nickname></province>
</country>

DOCTYPE声明语句

xml文件通过使用DOCTYPE声明语句来指明它所遵循的DTD文件,DOCTYPE声明语句有两种形式。

①当引用的文件在本地时,采用如下方式:

<!DOCTYPE 文档根节点  SYSTEM "DTD的URL" >  如: <!DOCTYPE country SYSTEM "province.dtd">

②当引用的文件是一个公共文件时,采用如下方式:

<!DOCTYPE 文档根节点  PUBLIC "DTD名称"   "DTD的URL"> 如下:

<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

DTD的语法细节

元素:在DTD文档中使用ELEMENT声明一个xml元素,语法如下:<!ELEMENT 元素名称 元素类型>

①元素类型可以是元素内容,或类型。

如果为元素内容,则需要使用()括起来,如下:

<!ELEMENT province (name,nickname)>  如果内容用逗号分隔,则xml中使用的顺序必须与dtd中声明的顺序一致。

<!ELEMENT province (name|nickname)>  如果内容用|分隔,表示任选其一,即多个只能出现一个。

<!ELEMENT province (name|nickname)*>  表示对出现顺序没有要求。
         <!ELEMENT name (#PCDATA)>

在元素内容中,可以使用+,*,?等符号表示元素出现的次数:

+:一次或多次       ?:0次或一次        *: 0次或多次

如果为元素类型,则直接书写, DTD规范定义了如下几种类型:

EMPTY:用于定义空元素,如<hr/>,<br/>

ANY:表示元素内容为任意类型。

② dtd中定义元素的属性:

常用属性值类型

<?xml version="1.0" encoding="gb2312" ?><!DOCTYPE 联系人列表[<!ELEMENT 联系人列表 ANY><!ELEMENT 联系人 (姓名,EMAIL)><!ELEMENT 姓名 (#PCDATA)><!ELEMENT EMAIL (#PCDATA)><!ATTLIST 联系人 编号 ID #REQUIRED>
]><联系人列表><联系人 编号="a1"><姓名>张三</姓名><EMAIL>zhang@it315.org</EMAIL></联系人><联系人 编号="a2"><姓名>李四</姓名><EMAIL>li@it316.org</EMAIL></联系人>
</联系人列表>

java web一: xml相关推荐

  1. Java Web之XML基础

    有好几天没有更新博客了,前段时间因为要开学了,需要凑足学费才能继续在学校学习,耽误了几天,这两天需要补充前面需要学习的一些知识点了.今天就开始进入JavaWeb阶段吧,这段时间我们需要了解一些前端的知 ...

  2. java web二: xml编程(CRUD)

    C:create创建   R:read 读取   U:update 修改   D:delete 删除

  3. 《Java Web程序设计任务教程》简要复盘:第二章 JavaWeb概述

    <Java Web程序设计任务教程>简要复盘:第二章 JavaWeb概述 第二章:Java Web概述 XML基础 XML概述 XML语法 HTTP协议 1.HTTP概述 HTTP介绍 W ...

  4. java将xml中的标签名称转为小写_深入学习Java Web(七): JSTL标签库

    本文转自与博客园一杯凉茶的博客. 在之前我们学过在JSP页面上为了不使用脚本,所以我们有了JSP内置的行为.行为只能提供一小部分的功能,大多数的时候还是会用java脚本,接着就使用了EL表达式,基本上 ...

  5. Java web之web.xml配置详解

    什么是web.xml web.xml是web项目的配置文件,一般的web工程都会用到web.xml来配置,方便大型开发.web.xml主要用来配置Filter,Listener,Servlet等.但是 ...

  6. Java Web的web.xml文件作用及基本配置(转)

    其实web.xml就是asp.net的web.config一个道理. 说明: 一个web中完全可以没有web.xml文件,也就是说,web.xml文件并不是web工程必须的. web.xml文件是用来 ...

  7. java web.xml 监听器_【JAVA 核心技术】java web 中的监听器

    为什么要有监听器? 监听器是用来处理一系列事件的java类,可被配置在java web项目中. 既然如此,为什么不用代码直接调用监听器? 这可能是因为J2EE规范规定的项目工程标准,用web.xml指 ...

  8. Spring MVC之基于java config无xml配置的web应用构建

    更多spring相关博文参考: spring.hhui.top 前一篇博文讲了SpringMVC+web.xml的方式创建web应用,用过SpringBoot的童鞋都知道,早就没有xml什么事情了,其 ...

  9. java web 加载Spring --web.xml 篇

    spring是目前最流行的框架.今天谈谈对spring的认识 起步 javaweb中我们首先会遇到的配置文件就是web.xml,这是javaweb为我们封装的逻辑,不在今天的研究中.略过,下面是一个标 ...

最新文章

  1. eosjs-ecc中文文档
  2. 重读经典:完全解析特征学习大杀器ResNet
  3. Linux command: ps -ef |grep java
  4. python基础30个常用代码大全-Python基础小题汇总
  5. 隐藏模块(无模块注入)
  6. pandas中的sample方法
  7. bootstrap评分插件 Bootstrap Star Rating Examples
  8. YBTOJ:字符匹配(KMP)
  9. 编译原理(简单自动词法分析器LEX)
  10. Android开发学习之ImageView手势拖拽、缩放、旋转
  11. 要做网络营销 这样的讲座不能错过
  12. 全网最全详解Windows CMD命令大全
  13. Ubuntu18.04 安装 Anaconda3和卸载Anaconda3
  14. 图像分辨率与长度单位转换
  15. 华硕fl5600l笔记本拆机,在光驱位加装固态硬盘
  16. 从头开始学习->JVM(九):垃圾收集(上)
  17. MPLS TE原理描述
  18. idc数据中心托管服务器需要注意的事项有哪些
  19. PTA 公路村村通
  20. 从零开始整合spingMVC

热门文章

  1. JEECG弹出框提交表单
  2. template模板中插入自定义参数
  3. 知道不知道 (刘若英演唱歌曲)
  4. Android 浏览器 —— 使用 WebView 实现文件下载
  5. Junit内部解密之四: Junit单元测试最佳实践
  6. 如何使用应用程序库缓存
  7. .net DataGrid绑定列手动添加数据
  8. LeetCode算法题10:DFS/BFS-扫雷游戏
  9. 不使用先验知识与复杂训练策略,从头训练二值神经网络!
  10. Android Studio Emulator 提示 “/dev/kvm is not found” 解决办法