一脚踩进java之中级篇01——xml基础语法

一、XML简介

1.1 什么是XML?

  1)XML是指可扩展标记语言(eXtensible Markup Language),它是一种标记语言,很类似HTML。它被设计的宗旨是传输数据,而非显示数据。
  2)XML标签没有被预定义,需要用户自行定义标签。
  3)XML技术是W3C组织(World Wide Web Consortium万维网联盟)发布的,目前遵循的是W3C组织于2000年发布的XML1.0规范。
  4)XML被广泛认为是继Java之后在Internet上最激动人心的新技术。

1.2 XML技术用于解决什么问题?

  1) 在现实生活中存在大量有关系的数据,如下图所示。

  

  2)问题:这样的数据该如何表示并交给计算机处理呢?

  ①XML语言出现的根本目的在于描述向上图那种有关系的数据。
  ②XML是一种通用的数据交换格式。
  ③在XML语言中,它允许用户自定义标签。一个标签用于描述一段数据;一个标签可分为开始标签和结束标签,在起始标签之间,又可以使用其它标签描述其它数据,以此来实现数据关系的描述。

  ④XML中的数据必须通过软件程序来解析执行或显示,如IE;这样的解析程序称之为Parser(解析器)。

1.3 XML常见应用

  1)XML技术除用于保存有关系的数据之外,它还经常用作软件配置文件,以描述程序模块之间的关系。(如后面将要学习到的Struts、Spring和Hibernate都是基于XML作为配置文件的)
  2)在一个软件系统中,通过XML配置文件可以提高系统的灵活性。即程序的行为是通过XML文件来配置的,而不是硬编码。
  3)数据交换:不同语言之间用来交换数据

 二、XML语法

2.1 一个XML文件分为如下几部分内容:
  文档声明
  元素
  属性
  注释
  CDATA区 、特殊字符
  处理指令(PI:Processing Instruction)

2.2 文档声明

  1)在编写XML文档时,需要先使用文档声明来声明XML文档。且必须出现在文档的第一行。并且必须指定
  2)最简单的语法:<?xml version=“1.0”?>
  3)用encoding属性说明文档所使用的字符编码。保存在磁盘上的文件编码要与声明的编码一致。如:<?xml version=“1.0” encoding=“GB2312”?>
  4)用standalone属性说明文档是否独立,即是否依赖其他文档。
  如:<?xml version=“1.0” standalone=“yes”?>
  yes不用引入外部的文件,no需要引入。(不常用)

2.3 XML元素

  1)XML元素指XML文件中出现的标签。一个标签分为起始和结束标签(不能省略)。一个标签有如下几种书写形式:
    包含标签主体:<mytag>some content</mytag>
    不含标签主体:<mytag/>
  2)一个标签中可以嵌套若干子标签,但所有标签必须合理的嵌套,不允许有交叉嵌套。
    <mytag1><mytag2></mytag1></mytag2> WRONG
  3)一个XML文档必须有且仅有一个根标签,其他标签都是这个根标签的子标签或孙标签。

    4)对于XML标签中出现的所有空格和换行,XML解析程序都会当作标签内容进行处理。

  5)一个XML元素可以包含字母、数字以及其它一些可见字符,但必须遵守下面的一些规范:
    ①区分大小写,例如,<P>和<p>是两个不同的标记。
    ②不能以数字或“-” (中划线)开头。
    ③不能以xml(或XML、或Xml 等)开头。
    ④不能包含空格。
    ⑤名称中间不能包含冒号(:)。

2.4 XML属性

  1)一个元素可以有多个属性,每个属性都有它自己的名称和取值,例如:<mytag name=“value” …/>
  2)属性值一定要用引号(单引号或双引号)引起来。
  3)属性名称的命名规范与元素的命名规范相同
  4)元素中的属性是不允许重复的
  5)在XML技术中,标签属性所代表的信息也可以被改成用子元素的形式来描述,例如:

  <mytag>
    <name>
      <firstName/>
      <lastName/>
    </name>
  </mytag>

2.5 注释

  1)XML中的注释语法为:<!--这是注释-->
  2)注意:
    ①XML声明之前不能有注释
    ②注释不能嵌套,例如:

    <!--大段注释
    …
      <!--有一段注释-->
    …
    -->

2.6 转义字符

  1)对于一些单个字符,若想显示其原始样式,也可以使用转义的形式予以处理。

  

2.7 CDATA区

  1)CDATA是Character Data的缩写
  2)作用:把标签当做普通文本内容;
  3)语法:<![CDATA[内容]]> 

  <![CDATA[
    if(age > 50){
      <name> 大于50的人 <name>
    }
  ]]>

原文地址:https://www.cnblogs.com/smilehq/p/12589430.html

时间: 2024-10-10 23:18:35

一脚踩进java之中级篇01——xml基础语法的相关文章

Java遇见HTML——JSP篇之JSP基础语法

一.JSP简介 JSP全名为Java Server Pages,Java服务器端页面,其根本是一个简化的Servlet设计,它实现了在Java中使用HTML标签.Jsp是一种动态网页技术标准,是在服务器端执行的. 二.常用动态网站开发技术 常见动态网站开发技术对比: JavaEE比较适用于以下开发: 三.JSP页面元素构成 3.1.JSP指令 JSP的三大指令元素: page指令语法: 如: 注意:pageEncoding是jsp文件本身的编码,contType的charset是指服务器发给客户

java核心技术第一篇之数据库基础

01.数据库的概念: 1).数据库的概念:数据库(Database),就是存储数据的仓库. 2).作用:用来存储和管理大量数据的.内部采用了非常便于查询的机制来存储数据,能保证我们在大量数据的情况下 可以很快,并且很准确为我们查询到所需记录. 3).什么是数据库管理系统:指一种操作和管理数据库的大型软件,用于建立.使用和维护数据库,对数据库进行统一管理和控制, 以保证数据库的安全性和完整性.用户通过数据库管理系统访问数据库中表内的数据.02.数据库内部的结构: 数据库软件: |--逻辑数据库(跟

java学习笔记(二)基础语法(上)

Java 作为一门编程语言,与其它语言一样,有字符集,标识符和关键字,变量,常量,语句等编程语言的基本要素. 关键字:abstract抽象的,boolean布尔型,break跳出循环,continue中止本次循环,byte字节型,case,catch,char,class,const,default,do,double,else,extends,assert,final,finally,float ,for,if,implements,import,instandceof,int,interfa

Java Web学习(7):JSP基础语法

一个JSP页面可以被分为以下几部份: 1)静态数据,如HTML: 2)JSP指令,如include指令: 3)JSP脚本元素和变量: 4)JSP动作: 5)用户自定义标签: 一静态数据 静态数据在输入文件中的内容和输出给HTTP响应的内容完全一致.此时,该JSP输入文件会是一个没有内嵌 Java或动作的HTML页面.而且,客户端每次请求都会得到相同的响应内容. 这个静态数据的本质就是HTML文档. 二JSP指令 JSP指令控制JSP编译器如何去生成servlet,以下是可用的指令: (1)pag

零基础学习openstack【完整中级篇】及openstack资源汇总

1.你是如何学习openstack的?2.你对openstack的组件了解多少?3.你认为openstack该如何学习? 一直想写关于openstack的方面的内容,今天终于整理完成.算是完成一桩心事,内容整合来自: 零基础学习openstack(上)[中级篇] 零基础学习openstack(下)[中级篇] 是在 零基础学习openstack[初级篇]基础上的一个继续: 初级篇,我们主要是有这么一个概念,openstack的组成openstack由哪些部分来组成: Identity(代号为“Ke

Java工程师学习指南(中级篇)

Java工程师学习指南 中级篇 最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好.原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我写的文章都是站在Java后端的全局上进行思考和总结的,忽略了很多小白们的感受,而很多朋友都需要更加基础,更加详细的学习路线. 所以,今天我们重新开一个新的专题,分别按照四个部分讲述Java的学习路线,笔者也打算趁此机会,回忆一下自己的Java学习历程.今天我们要讲的是第三部分,Java工程师学习指南(中级篇).

PHP注入大全,分低级篇,中级篇,高级篇

谨以此献给黑客x档案的新手们 前言:现在的网络,最流行的攻击手段有两种,一种是缓冲区溢出攻击,一种是SQL注入,相对而言,最流行的还是脚本注入,而脚本注入漏洞更是风靡黑客界.不管是老鸟还是新起步的小菜,都会为它那巨大的威力和灵活多变的招式所着迷! 正是因为注入攻击的流行,使的市面上的注入工具层出不穷!比较出名的有小竹的NBSI.教主的HDSI和啊D的注入工具等等!这大大方便的小菜们掌握注入漏洞!可是,工具是死的,注入的手法却是活的,能否根据实际情况灵活地构造SQL注入语句,得到自己想要的信息,是

(中级篇 NettyNIO编解码开发)第十章-Http协议开发应用

HTTPC超文本传输协议〉协议是建立在TCP传输协议之上的应用层协议,它的发展是万维网协会和Internet工作小组IET'F合作的结果.HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过多年的使用和发展,得到了不断地完善和扩展.由于HTTP协议是目前Web开发的主流协议,基于HTTP的应用非常广泛,因此,掌握HTTP的开发非常重要,本章将重点介绍如何基于Netty的HTTP协议技进行HTTP服务端和客户端开发.由于Netty的

零基础学习hadoop到上手工作线路指导(中级篇)

此篇是在零基础学习hadoop到上手工作线路指导(初级篇)的基础,一个继续总结. 五一假期:在写点内容,也算是总结.上面我们会了基本的编程,我们需要对hadoop有一个更深的理解: hadoop分为hadoop1.X.hadoop2.X,并且还有hadoop生态系统.这里只能慢慢介绍了.一口也吃不成胖子. hadoop 1.x分为 mapreduce与hdfs其中mapreduce是很多人都需要迈过去的槛,它比较难以理解,我们有时候即使写出了mapreduce程序,但是还是摸不着头脑. 我们不知