JavaWeb学习日记----XML基础
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基础的更多相关文章
- JavaWeb学习日记----XML的解析
XML的解析简介: 在学习JavaScript时,我们用的DOM来解析HEML文档,根据HTML的层级结构在内存中分配一个树形结构,把HTML的标签啊,属性啊和文本之类的都封装成对象. 比如:docu ...
- JavaWeb学习日记----表单提交方式
1.表单提交方式 (1) 使用input控件中的submit提交 代码如下: <!DOCTYPE html> <html lang="en"> <he ...
- python学习日记(基础数据类型及其方法01)
数字 int 主要是用于计算的,常用的方法有一种 #既十进制数值用二进制表示时,最少使用的位数i = 3#3的ASCII为:0000 0011,即两位 s = i.bit_length() print ...
- JavaWeb学习——web.xml文件说明
JavaWeb学习——web.xml文件说明 摘要:本文主要学习了web.xml文件的作用以及如果配置. 是什么 web.xml文件是用来在JavaWeb项目里面初始化配置信息的,比如:访问的首页.S ...
- XXE学习(一)——XML基础
XXE学习(一)——xml基础 一.XML简介 XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输数据 ...
- .net学习笔记---xml基础知识
一.XML简介 XML是一种标记语言,用于描述数据,它提供一种标准化的方式来来表示文本数据.XML文档以.xml为后缀.需要彻底注意的是XML是区分大小写的. 先从一个简单的XML例子来了解下xml基 ...
- JavaWeb学习笔记——XML解析
DOM解析操作 只在跟节点<addresslist>下面建立一个子节点<name> <?xml version="1.0" encoding=&quo ...
- JavaWeb学习日记----SAX解析XML
1.SAX解析XML文档的方式: 与DOM方式解析不同,DOM方式解析是根据XML的层级结构在内存中分配一个树形结构,把xml的标签,属性和文本都封装成对象.优点是可以很方便实现增删改操作.缺点是,如 ...
- JavaScripts学习日记——XML DTD Schema
今日关键词: XML DTD Schema 1.XML 1 XML的概述 1.1 什么是XML XML全称为Extensible Markup Language,意思是可扩展的标记语言.XML语法上和 ...
随机推荐
- 架构(四)Git简介,安装以及相关命令SourceTree
一 Git介绍 1.1 Git是什么? Git是一个分布式版本控制软件: 版本控制:假如开发人员开发了一个a功能,结果项目经理觉得不够需要修改,开发人员又改成了b功能,后来又改成了c功能,但是最终项目 ...
- 亲子编程玩Micro:bit-动力小车“麦昆”
少儿编程之风已经吹进各大城市,编程猫.乐博机器人.童程童美等专业培训机构逐渐进入大家的视野,年龄段已经从K12逐渐降低到幼儿园中班.其实,少儿编程的门槛并不高,它不会让孩子一上手就去接触代码,而是会通 ...
- Windows 10 IoT Core 17127 for Insider 版本更新
昨天,微软发布了Windows 10 IoT Core 17127 for Insider 版本更新,本次更新只修正了一些Bug,没有发布新的特性.相比于17120,修复了一个已知的问题. 一些已知的 ...
- 基于TensorFlow的深度学习系列教程 1——Hello World!
最近看到一份不错的深度学习资源--Stanford中的CS20SI:<TensorFlow for Deep Learning Research>,正好跟着学习一下TensorFlow的基 ...
- 面试官问我,Redis分布式锁如何续期?懵了。
前言 上一篇[面试官问我,使用Dubbo有没有遇到一些坑?我笑了.]之后,又有一位粉丝和我说在面试过程中被虐了.鉴于这位粉丝是之前肥朝的粉丝,而且周一又要开启新一轮的面试,为了回馈他长期以来的支持,所 ...
- 技术干货:实时视频直播首屏耗时400ms内的优化实践
本文由“逆流的鱼yuiop”原创分享于“何俊林”公众号,感谢作者的无私分享. 1.引言 直播行业的竞争越来越激烈,进过2018年这波洗牌后,已经度过了蛮荒暴力期,剩下的都是在不断追求体验.最近正好在做 ...
- FFmpeg开发实战(二):FFmpeg 文件操作
FFmpeg 提供了丰富的API供我们使用,下面我们来讲述一下文件操作相关的API: FFmpeg 删除文件:avpriv_io_delete() FFmpeg 重命名文件:avpriv_io_mov ...
- linux下如何把php升级到5.6
1: 进入终端后查看php版本 php -v 输出可能如下: PHP (cli) (built: Nov ::) Copyright (c) - The PHP Group Zend Engine v ...
- JavaScript 基础排序的实现(二)
继上一篇O(n^2)的排序算法后,这一篇主要记录O(n*logn)的排序算法 1.快排(快速排序) 这一算法的核心思想为,先随机选一个数作为标兵或者说是标记(这个数一般来说选择该无序数组的中间那个元素 ...
- Eclipse 中构建 Maven 项目的完整过程 - 动态 Web 项目
进行以下步骤的前提是你已经安装好本地maven库和eclipse中的maven插件了(有的eclipse中已经集成了maven插件) 一.Maven项目的新建 1.鼠标右键---->New--- ...