`
百合不是茶
  • 浏览: 344081 次
社区版块
存档分类
最新评论

XML语法元素结构的总结

阅读更多

1.XML介绍
1969年   gml (主要目的是要在不同的机器进行通信的数据规范)
1985年   sgml  standard generralized markup language
1993年   html(www网)
1998年  xml   extensible markup language

Html本身的一些缺陷
1)标记本身不能自定义
 <html></html><zhang></zhang>
2)标记本身缺少含义
 <Div id="aa">sadsadsadsa</Div>

3)没有国际化
 例如不同的浏览器对于同一个Html的解释是不一样的

  html-->xhtml-->xml

 

2.为什么要学习XML
 1) 解决程序间数据传输的格式问题(QQ.MSN.旺旺,GTalk) XMPP
 2) 做配置文件(xml,ini,propertity)
 3) 充当小型数据库

 

3.XML语法
   入门案例 :用xml来记录一个班级的信息
       编码问题ANSI

   3.1  XML文档结构
 文档声明
 元素
 属性
 注释
 CDATA区、特殊字符
 处理指令(Processing instruction)

 
 *******************************
    3.2文档声明
 

<?xml version="1.0" encoding="utf-8" standalone="yes"?>

 
 version 版本1.0  1.1
 encoding 字符编码
 standalone 是否独立使用,默认是no  不常用

 字符集:如何将字节拼成字符的一个标准
 ISO-8859-1 西欧字符集
 UTF-8
 GBK    中国国家标准(包含中文字符集标准)
 GB2312  简体中文字符集国家标准
 Big5    繁体中文字符集标准
 

 ANSI:美国国家标准委员会

 


   3.3 元素(标签)
 每个xml文档必须有且只有一个根元素

 xml元素指文档中出现的标签,标签分为开始和结束标签

 一个标签中可以嵌套若干字标签,不允许交叉嵌套

  <Student> <aa>aaaaaaaaaaaaaaaaaaaaa</Student></aa>

 
 如果元素中没有值,则可以直接关闭
 <姓名>  </姓名>
 <爱好/>

 XML标签中出现的所有空格和换行,都会被解析成标签内容进行处理
  

<Student>杨过</Student>
  <Student> 杨过</Student>
  <Student>
   杨过
  </Student>

 


 XML元素可以包含字母、数字及其它一些可见字符:
  +++++++++++++++++++++++++++++++++++++++++  

                +  1.区分大小写 <div>  </Div>  +
                +  2.不能以数字或_开头<_Name>aaa</_Name> +
                +  3.不能包含空格   +
                +  4.名称中不能有:   +

 
            +++++++++++++++++++++++++++++++++++++++++

    3.4 属性
 属性值用双引号“或者单引号‘分隔

 一个元素可以有多个属性,用空格隔开

 同一属性名称在同一元素中只能出现一次
 属性值不能为< > &
  +++++++++++++++++++++++++++++++++++++++++  

  +  转义字符    +
  +  &lt;     <   +
  + &gt;     >   +
  + &amp; &   +
  + &quot; "   +
  + &apos; '   +

 
   +++++++++++++++++++++++++++++++++++++++++

 


    3.5 注释
 <!--这是一个注释-->
 注释不能放在标签中
 注释不能嵌套

 

    3.6 CDATA节
 +有些内容不想让解析引擎解析执行,而是当作原始内容处理,用于
  把整段文本解释为纯字符数据而不是标记的情况。
 +包含有大量<  >  &  "字符。
 +CDATA节中的所有字符都会被当作元素字符数据的常量部分,而不是
  XML标记

 +语法:

   <![CDATA[
  ......
   ]]>
  +可以输入任何字符(除]]>外)
  +不能嵌套

 


    3.7处理指令(PI[Processing Instruction])
 + 处理指令用来指挥解析引擎如何解析XML文档的内容
    例如:在xml中可以使用xml-stylesheet指令,通知XML引擎解析,
  应用css文件显示XML文件内容
 

 <?xml-stylesheet type="text/css" href="my.css"?>

 

 +处理指令必须以<?开头   ?>结尾


*****************************************************************

总结:
    必须有XML声明语句
 

<?xml version="1.0" encoding="gb2312"?>    

 
 必须有且仅有一个根元素   
 标记大小写敏感   
 属性值用引号
     标记成对
     空标记关闭<aaa/>
     元素正确嵌套

 


4,XML树结构

XML 文档形成了一种树结构,它从“根部”开始,然后扩展到“枝叶”。
一个 XML 文档实例
XML 使用简单的具有自我描述性的语法:
<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
第一行是 XML 声明。它定义 XML 的版本 (1.0) 和所使用的编码 (ISO-8859-1 = Latin-1/西欧字符集)。
下一行描述文档的根元素(像在说:“本文档是一个便签”):
<note>
接下来 4 行描述根的 4 个子元素(to, from, heading 以及 body):
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
最后一行定义根元素的结尾:
</note>
从本例可以设想,该 XML 文档包含了 John 给 George 的一张便签。
XML 具有出色的自我描述性,你同意吗?
XML 文档形成一种树结构
XML 文档必须包含根元素。该元素是所有其他元素的父元素。
XML 文档中的元素形成了一棵文档树。这棵树从根部开始,并扩展到树的最底端。
所有元素均可拥有子元素:
<root>
  <child>
    <subchild>.....</subchild>
  </child>
</root>
父、子以及同胞等术语用于描述元素之间的关系。父元素拥有子元素。相同层级上的子元素成为同胞(兄弟或姐妹)。
所有元素均可拥有文本内容和属性(类似 HTML 中)。
实例

上图表示下面的 XML 中的一本书:
<bookstore>
<book category="COOKING">
  <title lang="en">Everyday Italian</title> 
  <author>Giada De Laurentiis</author> 
  <year>2005</year> 
  <price>30.00</price> 
</book>
<book category="CHILDREN">
  <title lang="en">Harry Potter</title> 
  <author>J K. Rowling</author> 
  <year>2005</year> 
  <price>29.99</price> 
</book>
<book category="WEB">
  <title lang="en">Learning XML</title> 
  <author>Erik T. Ray</author> 
  <year>2003</year> 
  <price>39.95</price> 
</book>
</bookstore>
例子中的根元素是 <bookstore>。文档中的所有 <book> 元素都被包含在 <bookstore> 中。
<book> 元素有 4 个子元素:<title>、< author>、<year>、<price>。

 

 

0
0
分享到:
评论

相关推荐

    XML轻松学习手册--XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解

    XML的parser发展为两类:一种是"非确认类paeser",只检测文档是否遵守XML语法规则,是否用元素标识建立了文档树。另一种是"确认类paeser",它不但检测文档语法,结构树,而且比较解析你使用的元素标识是否遵守了相应...

    《XML实用大全》.pdf

    1.1.2 XML描述的是结构和语义,而不是格式 1.2 为什么开发人员对XML感到激动 1.2.1 设计与特定领域有关的标记语言 1.2.2 自描述数据 1.2.3 应用间交换数据 1.2.4 结构化和集成的数据 1.3 XML文档的“生命” 1.3.1 ...

    XML实用大全----xml详细参考书

    1.1.2 XML描述的是结构和语义,而不是格式化... 10 1.2 为什么开发人员对XML感到激动... 13 1.2.1 设计与特定领域有关的标记语言... 13 1.2.2 自描述数据... 13 1.2.3 应用间交换数据... 14 1.2.4 结构化和集成...

    xml实用大全和轻松学习手册和无废话xml

    · 一.XML语法规则 · 二.元素的语法 · 三.注释的语法 · 四.CDATA的语法 · 五.Namespaces的语法 · 六.entity的语法 · 七.DTD的语法 · 第五章:XML实例解释 · 一.定义新标识 · 二.建立XML文档 · 三.建立相应...

    XMl实用大全(资料全易学习)

    1.1.2 XML描述的是结构和语义,而不是格式化 10 1.2 为什么开发人员对XML感到激动 13 1.2.1 设计与特定领域有关的标记语言 13 1.2.2 自描述数据 13 1.2.3 应用间交换数据 14 1.2.4 结构化和集成的数据 14 1.3 XML...

    XML实用大全(web开发必备手册)

    1.1.2 XML描述的是结构和语义,而不是格式化... 10 1.2 为什么开发人员对XML感到激动... 13 1.2.1 设计与特定领域有关的标记语言... 13 1.2.2 自描述数据... 13 1.2.3 应用间交换数据... 14 1.2.4 结构化和集成...

    xml实用教程

    10 1.1.2 XML描述的是结构和语义,而不是格式化... 10 1.2 为什么开发人员对XML感到激动... 13 1.2.1 设计与特定领域有关的标记语言... 13 1.2.2 自描述数据... 13 1.2.3 应用间交换数据... 14 ...

    XML编程综合资料库

    1.1.2 XML描述的是结构和语义,而不是格式化... 10 1.2 为什么开发人员对XML感到激动... 13 1.2.1 设计与特定领域有关的标记语言... 13 1.2.2 自描述数据... 13 1.2.3 应用间交换数据... 14 1.2.4 结构化和集成...

    XML实用大全

    10 1.1.2 XML描述的是结构和语义,而不是格式化... 10 1.2 为什么开发人员对XML感到激动... 13 1.2.1 设计与特定领域有关的标记语言... 13 1.2.2 自描述数据... 13 1.2.3 应用间交换数据... 14 ...

    Java语言基础下载

    基本语法元素 48 Java关键字 49 基本Java数据类型 50 变量声明和赋值 52 引用(Reference)类型 52 存储器分配和布局 53 this引用 55 Java编码约定 56 运算符的优先级 58 升级和表达式的类型转换 62 独立实践 70 第...

    mybatis思维导图总结.zip

    mybatis看这一篇就够了MyBatis 思维导图总结: 1. MyBatis 简介 ORM(对象关系映射)的定义和作用。 MyBatis 是什么以及它的核心思想。 MyBatis 的优点和适用场景。 2. 环境搭建与配置 下载 MyBatis jar 包。 ...

    hibernate 体系结构与配置 参考文档(html)

    总结 2. 体系结构(Architecture) 2.1. 概况(Overview) 2.2. 实例状态 2.3. JMX整合 2.4. 对JCA的支持 2.5. 上下文相关的(Contextual)Session 3. 配置 3.1. 可编程的配置方式 3.2. 获得SessionFactory ...

    ADO.NET本质论.pdf

    附录b 表达式的语法 b.1 用户自定义值 b.2 运算符 b.3 字符串运算符 b.4 通配符 b.5 父/子关系引用 b.6 聚合 b.7 函数 附录c 架构推断规则 c.1 排除信息 c.2 推断过程总结 c.3 表 c.4 有属性的...

    jpivot学习总结.doc

    属性很多,并且是 schema 编写的关键,使用它可以构成一个结构树, Level 的先后顺序决定了 Level 在这棵树上的的位置,最顶层的 Level 位于树的第一级,依次类推。 Level 的属性如下: 属性名 含义 name 名称 ...

    springmybatis

    后来项目结束了,我也没写总结文档。已经过去好久了。但最近突然又对这个ORM 工具感兴趣。因为接下来自己的项目中很有可能采用这个ORM工具。所以在此重新温习了一下 mybatis, 因此就有了这个系列的 mybatis 教程. ...

    ASP.NET2.0高级编程(第4版)1/6

     21.1.1 语法通知709  21.1.2 Immediate和 Command窗口711  21.1.3 任务列表712 21.2 跟踪713  21.2.1 System.Diagnostics. Trace和ASP.NET 的Page.Trace713  21.2.2 页面级的跟踪713  21.2.3 应用程序的跟踪...

    WAP 无线应用协议

    5.2 二进制XML内容结构 98 5.2.1 多字节整数 98 5.2.2 字符编码 99 5.2.3 文档结构的BNF 99 5.2.4 版本号 100 5.2.5 文档公共标识符 100 5.2.6 字符串表 100 5.2.7 记号结构 100 5.3 编码语义 104 5.3.1 文档标记 ...

    freemarker总结

    节点变量表示为树型结构中的一个节点,通常在XML处理中使用。 在模板里对sequences和hashes初始化 sequences 1. [“you”,”me”,”he”] 2. 1..100 3. [ {“Akey”:”Avalue”},{“Akey1”:”Avalue1”}, {“B...

    2.ASP.NET.2.0.高级编程(第4版) [1/7]

    10.8 集合和列表总结 303 10.9 小结 306 第11章 ASP.NET 2.0中的数据绑定 307 11.1 数据源控件 307 11.1.1 SqlDataSource控件 310 11.1.2 XmlDataSource控件 316 11.1.3 ObjectDataSource控件 316 11.1.4 ...

Global site tag (gtag.js) - Google Analytics