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.          &#233、&#xE9表示同一个字符

b)     实体引用(entity reference): &name 同样为了显示这些特殊符号而不触发命令

                i.          &lt、&gt、&amp、&quot、&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 基础知识的更多相关文章

  1. JAVAEE规范基础知识

    JavaEE规范基础知识 本人博客文章网址:https://www.peretang.com/basic-knowledge-of-javaee-standard/ JavaEE简介 JavaEE,J ...

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

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

  3. XML基础知识-->Spring配置

    XML的特殊字符 XML中共有5个特殊的字符,分别是:&<>“’.如果配置文件中的注入值包括这些特殊字符,就需要进行特别处理.有两种解决方法:其一,采用本例中的<![CDAT ...

  4. XML基础知识归纳(通俗易懂)

    XML:可扩展标记型语言 随着json等一些技术的普及,似乎xml的路子越来越窄,虽然xml的一些功能被其他的一些技术代替,但是学习xml还是非常有必要,如果用xml存储一些大量数据,还是有一定优势的 ...

  5. JavaWeb基础: XML基础知识

    简介 XML:可扩展标记语言,W3C指定的用于描述结构化数据的语言,XML在实际开发中,经常用作软件的配置文件,以描述程序模块之间的依赖和组合关系. XML约束:XML常常用于软件配置管理,对于软件框 ...

  6. XML基础知识

    1.XML:(entension mark language) 可扩展的标记语言格式化的文本文件html(Hype Text Mark Language)(超文本标记语言)主要用于显示2.特点 一个良 ...

  7. XML基础知识学习

    概念: XML 指可扩展标记语言 XML 是一种标记语言,非常类似 HTML ,文本文件. XML 的设计宗旨是数据传输,而非显示数据 .存储和传输复杂的关系模型数据 XML 标签没有被提前定义 使用 ...

  8. XML -- XML基础知识

    1.XML的结构 XML的结构采用的是树结构,树结构就是一种一对多的关系结构. XML必定有一个根节点.因为,在解析这个XML时,需要有个起始位置进行遍历解析,这个跟节点就是起始位置. 2.XML的元 ...

  9. Java——XML基础知识

    XML大小写敏感,不可省略结束标签,可以标签自闭合<img />,属性值必须用引号括起来.CDATA部分用<![CDATA[ ]]>来限定界限,它们是字符数据的一种特殊形式.可 ...

随机推荐

  1. 基于C++的类编程总结

    1. 类中public, protected, private这三个属性的区别: public意味着所有事物都能查询具有该属性的食物.(也即所有人可以在我不知情的情况下,查看我账户里还有多少钱). p ...

  2. 安卓---apk反编译

    转自:http://blog.csdn.net/vipzjyno1/article/details/21039349 在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮 ...

  3. json的细节

    之前一直纳闷为什么在js里直接写的json数据可以不用eval()直接解析,而后台传入ajax的json数据需要eval()一下才能解析 原来是我没搞清楚json格式字符串跟json对象 var te ...

  4. IIS8中使用OpenSSL来创建CA并且签发SSL证书

    前言 [转载]http://alvinhu.com/blog/2013/06/12/creating-a-certificate-authority-and-signing-the-ssl-certi ...

  5. 学习笔记_ADB常用指令

    ADB 查看连接到计算机的Android设备或模拟器 adb devices 说明: 正常显示状态应该是IP:Port State. State=device说明设备已经连接到计算机, State=o ...

  6. 运行CUDA实例时候出现的问题

    问题一:>LINK : fatal error LNK1123: 转换到 COFF 期间失败:文件无效或损坏 将 项目——项目属性——配置属性——连接器——清单文件——嵌入清单 “是”改为“否” ...

  7. NVIC

    1中断:每一个中断都会对应一个服务程序 2NVIC 他的做用是负责中断优先级管理 3IP bit[7:4]每一个中断都有一个IP寄存器,用于设置中断相关的属性 AIRCR[10:8]只一个AIRCR寄 ...

  8. Tiny6410之按键裸机驱动

    操作步骤: 第一步:查看开发板电路原理图 找到LED 和按键的管脚所对应的寄存器 LED:(见Tiny6410之LED裸机驱动) nLED_1 - GPK4 nLED_2 - GPK5 nLED_3 ...

  9. Python笔记6(异常)-20160924

    1. NameError 当视图访问一个未定义的变量则会发生NameError.

  10. iPhone doesn’t support any of GongShangJ.app’s architectures. You can add iPhone’s armv7s architectu

    iPhone doesn't support any of GongShangJ.app's architectures. You can add iPhone's armv7s architectu