JavaEE XML 基础知识
JavaEE XML 基础知识
@author ixenos
1. XML开头都需要一个声明 <?和?>表明这是一个处理指令
<?xml version=”1.0” encoding=”UTF-8” ?>
2. <book id=”1.0”>
</book>
等同于:
<book>
<id>1.0</id>
</book>
3. XML格式能够表达层次结构(树),并且重复的元素不会被曲解
4. XML与HTML区别
a) XML是大小写敏感的
b) XML不可省略结束标签
c) XML只有单个标签时要以/结尾,使解释器同时认其为结束标签<hr/>(注意区别<a></a>)
d) XML属性值必须用引号括起来,而HTML引号可有可无
e) XML属性必须有属性值,HTML属性可以没有属性值
i. HTML :<intput type=”radio” name=”language” value=”java” checked>其中checked属性没有属性值是允许的
5. XML文档结构
示例:
<?xml version="1.0" encoding="UTF-8"?> //文档头
<!DOCTYPE …….> //文档类型定义DTD,用以确保文档正确的机制,但不是必须的
<bookstore> //这是根root元素
<book id="1">
<name>冰与火之歌</name>
<author>乔治马丁</author>
<year>2014</year>
<price>89</price>
</book>
<book id="2">
<name>安徒生童话</name>
<year>2004</year>
<price>77</price>
<language>English</language>
</book>
</bookstore>
a) 在设计XML文档的时候,最好使元素要么只包含子元素,要么只包含文本,尽量不要混合式内容(mixed content),可以简化解析过程(如getFirstChild())
i. <font> //不推荐的混合式
1. Hell
2. <size>36</size>
</font>
b) XML元素可以包含属性:
i. <size unit=”pt”>36</size>
常用法则:属性只应该用来修改值的解释,而不是用来指定值
如果值这样表示<font name=”Aero” size=”36”/> ,那么给size增加单位就必须添加到属性值中去:< font name=”Aero” size=”36 pt”/>,这样不够清真!耦合了,还是应该如下:
i. <font>
i. <name>Areo</name>
ii. <size unit=”pt”>36</size>
</font>
这样增加或修改单位时就在size标签里指定属性就好
6. 元素(Element)和文本(Text)是XML文档的主要支撑元素,还有其他的一些标记如下:
a) 字符引用(character reference): &#十进制值、&#x十六进制值
i. é、é表示同一个字符
b) 实体引用(entity reference): &name 同样为了显示这些特殊符号而不触发命令
i. <、>、&、"、&apos
ii. 分别表示字符:小于、大于、&、引号、省略号
iii. 还可以在DTD中定义其他的实体引用
c) CDATA部分(CDATA Section): 是用来表示字符数据的一种特殊形式,可以囊括那些含有<,>,&之类字符的字符串,而不会触发对应命令,用 <![CDATA[ 和 ]]> 限定界限,
i. 注意CDATA中不能包含]]>字符串
ii. 这一特性常被用来当作将遗留数据偷偷纳入XML文档的一个后门
d) 处理指令(processing instruction)是给那些处理XML文档的应用程序使用的指令,用 <? 和 ?> 来限定界限,例如:
i. <?xml-stylesheet href=”mystyle.css” type=”text/css”?>
ii. 而XML文档开头也是处理指令<?xml version=”1.0” encoding=”UTF-8”?>
e) 注释(comment)用 <!— 和 --> 限定界限
i. <!—This is a comment. --> 注释内容不能含有字符串 “—“
JavaEE XML 基础知识的更多相关文章
- JAVAEE规范基础知识
JavaEE规范基础知识 本人博客文章网址:https://www.peretang.com/basic-knowledge-of-javaee-standard/ JavaEE简介 JavaEE,J ...
- .net学习笔记---xml基础知识
一.XML简介 XML是一种标记语言,用于描述数据,它提供一种标准化的方式来来表示文本数据.XML文档以.xml为后缀.需要彻底注意的是XML是区分大小写的. 先从一个简单的XML例子来了解下xml基 ...
- XML基础知识-->Spring配置
XML的特殊字符 XML中共有5个特殊的字符,分别是:&<>“’.如果配置文件中的注入值包括这些特殊字符,就需要进行特别处理.有两种解决方法:其一,采用本例中的<![CDAT ...
- XML基础知识归纳(通俗易懂)
XML:可扩展标记型语言 随着json等一些技术的普及,似乎xml的路子越来越窄,虽然xml的一些功能被其他的一些技术代替,但是学习xml还是非常有必要,如果用xml存储一些大量数据,还是有一定优势的 ...
- JavaWeb基础: XML基础知识
简介 XML:可扩展标记语言,W3C指定的用于描述结构化数据的语言,XML在实际开发中,经常用作软件的配置文件,以描述程序模块之间的依赖和组合关系. XML约束:XML常常用于软件配置管理,对于软件框 ...
- XML基础知识
1.XML:(entension mark language) 可扩展的标记语言格式化的文本文件html(Hype Text Mark Language)(超文本标记语言)主要用于显示2.特点 一个良 ...
- XML基础知识学习
概念: XML 指可扩展标记语言 XML 是一种标记语言,非常类似 HTML ,文本文件. XML 的设计宗旨是数据传输,而非显示数据 .存储和传输复杂的关系模型数据 XML 标签没有被提前定义 使用 ...
- XML -- XML基础知识
1.XML的结构 XML的结构采用的是树结构,树结构就是一种一对多的关系结构. XML必定有一个根节点.因为,在解析这个XML时,需要有个起始位置进行遍历解析,这个跟节点就是起始位置. 2.XML的元 ...
- Java——XML基础知识
XML大小写敏感,不可省略结束标签,可以标签自闭合<img />,属性值必须用引号括起来.CDATA部分用<![CDATA[ ]]>来限定界限,它们是字符数据的一种特殊形式.可 ...
随机推荐
- trove 开发者阅读翻译
介绍 Trove为OpenStack提供数据库的服务.它的设计运行完全符合OpenStack,目标是让用户能快速.轻松地利用关系数据库的特点,没有负担的处理复杂的管理任务.云用户和数据库管理员可以根据 ...
- expressJS - 准备活动
安装 nodeJS 1. package.json 2. CommonJS, AMD, ES6 3. Babel
- hadoop(一)
1 环境熟悉安装jdk.hadoop配置xml文件,启动伪分布式运行example-jar,测试mapreduce程序2 mapreduce编程使用eclipse开发mapreduce程序,导出jar ...
- Everything(速度快的文件搜索软件) 1.4.1.801b 汉化绿色版
软件名称: Everything(速度快的文件搜索软件) 软件语言: 简体中文 授权方式: 免费软件 运行环境: Win7 / Vista / Win2003 / WinXP 软件大小: 2.0MB ...
- linux shell脚本学习xargs命令使用详解
作用是将参数列表转换成小块分段传递给其他命令,以避免参数列表过长的问题 xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具.它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处 ...
- StringBuffer使用append提示String concatenation as argument to 'StringBuffer.append()' call
昨天发现一个IDE提示: String concatenation as argument to 'StringBuffer.append()' call less... (Ctrl+F1) Repo ...
- C#项目间循环引用的解决办法,有图有真相
C#项目间循环引用的解决办法,有图有真相 程序间的互相调用接口,c#禁止互相引用,海宏软件,20160315 /// c#禁止互相引用,如果项目[订单]中有一个orderEdit单元,要在项目[进销存 ...
- 【Python】Markov text generator马尔科夫文字生成器
遍历一段文字,统计每个字后面出现的字和其次数,当前一个字确定的时候,计算后一个字出现的百分比,用这个百分比作为文字生成器中后一个字出现的概率进行文字生成 from random import rand ...
- 聚类算法K-Means, K-Medoids, GMM, Spectral clustering,Ncut
原文请戳:http://blog.csdn.net/abcjennifer/article/details/8170687 聚类算法是ML中一个重要分支,一般采用unsupervised learni ...
- 【卷二】网络二—TCP服务器与客户端
经过上回简单地介绍,大家对服务器多少应该清楚一些了吧!还记得TCP: (Transmission Control Protocol) 传输控制协议? 还记得IP: (Internet Protocol ...