1.XML基础:

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

  XML用途:

    同HTML一样可用于显示数据,但是不是XML的主要用途。XML我们多用来存储数据。

  应用:

    1).不同应用之间数据的传输,利于程序之间的维护

    2).用来表示生活中具有层级关系的数据

    3).多用于文件配置

  XML语法:

    1).XML的文档声明:

      创建一个文件,后缀名为.xml

      在写XML之前,首先必须要有一个文档声明,用以表示写的是XML文件的内容。

      格式:   <?xml version="1.0" encoding="GBK"?>

      注意: 文档声明必须放在XML文件的第一行,第一列

      常见属性:

          version: XML的版本(这是使用1.0)

          encoding:XML编码。常见编码:gbk;  utf-8;  iso8859-1;  其中iso8859-1不包含中文

          standalong:是否需要依赖其他文件:yes/no

  XML中文乱码问题的解决:

    在保存XML文件的时候,会以本地默认的编码保存,所以只要在保存的时候编码和设置打开文件的编码一致,就能解决乱码问题。

2.XML元素的定义(标签定义)

  标签有开始就必须要有结束:<person></person>

  如果标签没有内容,可以在标签内结束:<age/>

  标签可以嵌套,但必须合理嵌套:<person><name>roger</name></person>

  一个XML文件中,只能有一个根标签。其他的标签都是这个标签下面的标签。

  值得一提的是:在XML中,空格和换行都会被作为内容来解析:

    下面两端代码含义是不一样的:

       <aa>hello</aa>    与  <aa>

                      hello

                    </aa>

  XML中标签名称的命名规则:

    1).XML严格区分大小写: <q>与<Q>是两个不一样的标签

    2).不能以数字和下划线开头

    3).不能以xml;  XML;  Xml等开头

    4).XML标签中不能包含空格和冒号

    5).可以使用中文

3.XML中属性的定义:

  同HTML一样,可以有属性

  属性定义的要求:

    1).一个标签可以有多个属性

      <person id1="aaa" id2="bbb"></person>

    2).属性名称不能相同

    3).属性名称和属性值之间采用键值对的形式

    4).命名规范同标签的命名规范一致。

4.注释:

  写法:<!--xml的注释-->  注意:注释不能嵌套

5.XML中的特殊字符:

  因为在xml文档中有些字符是特殊的,不能使用它们作为文本数据。例如:不能使用“<”或“>”等字符作为文本数据,所以需要使用转义字符来表示。

  

6.CDATA区

  在CDATA区里的内容会按原格式显示,不需要转义。

  格式:<![CDATA[内容]]>

7.PI指令(处理指令)  (不常用)

  PI指令可以在XML中设置样式

  格式:<?xml-stylesheet type="text/css" href="css的路径''?>

  设置样式只对英文标签起作用。

8.XML的约束:

  XML为什么需要约束?

    因为XML中标签可以自由定义,如<person></person>的XML文件中保存个人基本信息。这时如果在定义一个<cat></cat>虽然并无语法错误,但显然放在person的XML文件中不合适。所以需要约束XML中只能出现的元素。

  XML中常见约束: DTD约束和schema约束

以上就是JavaWeb学习日记第二天内容。

JavaWeb学习日记----XML基础的更多相关文章

  1. JavaWeb学习日记----XML的解析

    XML的解析简介: 在学习JavaScript时,我们用的DOM来解析HEML文档,根据HTML的层级结构在内存中分配一个树形结构,把HTML的标签啊,属性啊和文本之类的都封装成对象. 比如:docu ...

  2. JavaWeb学习日记----表单提交方式

    1.表单提交方式 (1) 使用input控件中的submit提交 代码如下: <!DOCTYPE html> <html lang="en"> <he ...

  3. python学习日记(基础数据类型及其方法01)

    数字 int 主要是用于计算的,常用的方法有一种 #既十进制数值用二进制表示时,最少使用的位数i = 3#3的ASCII为:0000 0011,即两位 s = i.bit_length() print ...

  4. JavaWeb学习——web.xml文件说明

    JavaWeb学习——web.xml文件说明 摘要:本文主要学习了web.xml文件的作用以及如果配置. 是什么 web.xml文件是用来在JavaWeb项目里面初始化配置信息的,比如:访问的首页.S ...

  5. XXE学习(一)——XML基础

    XXE学习(一)——xml基础 一.XML简介 XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输数据 ...

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

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

  7. JavaWeb学习笔记——XML解析

    DOM解析操作 只在跟节点<addresslist>下面建立一个子节点<name> <?xml version="1.0" encoding=&quo ...

  8. JavaWeb学习日记----SAX解析XML

    1.SAX解析XML文档的方式: 与DOM方式解析不同,DOM方式解析是根据XML的层级结构在内存中分配一个树形结构,把xml的标签,属性和文本都封装成对象.优点是可以很方便实现增删改操作.缺点是,如 ...

  9. JavaScripts学习日记——XML DTD Schema

    今日关键词: XML DTD Schema 1.XML 1 XML的概述 1.1 什么是XML XML全称为Extensible Markup Language,意思是可扩展的标记语言.XML语法上和 ...

随机推荐

  1. App设计:消息推送和界面路由跳转

    概要 app消息推送.显示通知栏,点击跳转页面是很一般的功能了,下面以个推为例演示push集成,消息处理模块及app内部路由模块的简单设计. 推送 推送sdk集成 集成sdk步骤根据文档一步步做就行了 ...

  2. php安全编程&python测试实例编写

    前言 本文首发i春秋论坛. 本篇文章主要分享一个python暴破脚本,该脚本采用optparse模块,支持自定义字典位置:用了多线程(虽然我感觉和单线程速度差不多..是我的错觉还是线程写的不对..求表 ...

  3. 安全圈玩起了直播,"学霸”带你玩转CTF

    [i春秋]安全圈玩起了直播,"学霸”带你玩转CTF 跟着学霸(汪神)打CTF,摸清CTF套路 汪神,是浙江大学电气工程系的“风云人物”,曾因首度破解特斯拉汽车安全系统而名声大噪.本套题目是自 ...

  4. 【详记MySql问题大全集】一、安装MySql

    最近公司要从SqlServer转到MySql,期间在安装环境和数据迁移的过程中,遇到了一些不大不小问题,比如怎么重置密码.怎么设置大小写敏感等等. 这些问题都比较细比较杂,这边解决完可能过几天就忘了, ...

  5. JavaScript 作用域、命名空间及闭包

    变量作用域: 1.一个变量的作用域是程序源代码中定义这个变量的区域 2.在函数内声明的变量是局部变量,它只在该函数及其嵌套作用域里可见(js 函数可嵌套定义):不在任何函数内声明或在函数内不使用 va ...

  6. 关于PHP中拿到MySQL中数据中的中文在网页上显示为?的解决办法!

    问题: 解决方案: 在PHP 代码中 输入 : //$connection 是链接数据库返回的变量名: mysqli_set_charset($connection,'utf8'); 完美解决:

  7. alert换行

    alert( "视频会议系统开启流程 " + String.fromCharCode(13) + "1.  软件下载之后双击安装即可." + String.fr ...

  8. preg_replace的一些细节

    .$pattern是数组,$replace也是数组,则中对应的 元素进行替换 php preg_replace有五个参数,有三个是必须参数 Preg_replace(mixed $pattern, m ...

  9. java~springboot~h2数据库在单元测试中的使用

    单元测试有几点要说的 事实上springboot框架是一个tdd框架,你在进行建立项目时它会同时建立一个单元测试项目,而我们的代码用例可以在这个项目里完成,对于单元测试大叔有以下几点需要说明一下: 单 ...

  10. Number(),parseInt(),parseFloat(),Math.round(),Math.floor(),Math.ceil()对比横评

    首先,这些处理方法可分为三类. 1,只用来处理数字取整问题的:Math.round(),Math.floor(),Math.ceil(): 2,专门用于把字符串转化成数值:parseInt(),par ...