[转]XML学习笔记--第2章 良构的XML文档
2012-03-08 13:05
225 查看
[align=center][/align] 内容概要: 如何用开始标签和结束标签定义一个元素 如何用属性进一步描述标签 如何把文档声明为xml类型 如何给处理xml文档的应用程序传递指令 哪些字符不允许出现在xml文档里,但又如何在文档中使用这些字符 2.1 解析xml文档 使用xml解析器。 常见的解析器有: MSXML:微软的xml解析器 Apache Xerces Expat 2.2 标签、文本和元素(简略) <first>是开始标签 </first>是结束标签 <first> John</first>是元素 其中,John是文本内容,又称PCDATA(Parsed Character Data)、文本节点。 写法注意:标签内部的开头不可有空格,而结尾处可有空格 2.2.1 定义元素的规则 元素的开始标签必有结束标签与之对应(自封闭标签除外self-closing tag) 标签不能重叠,必须正确嵌套 一个xml文档中只能有一个根元素 元素命名必须遵循xml命名规则 xml是区分大小写的 xml保留PCDATA里的空白符(white space) PCDATA中的空白符 空白符:包括空格符、换行符和跳格符 (1)HTML中:去年多余的空白符。因HTML是用来显示信息的,写HTML时为了易读而加入了空白符,但在显示时则去掉了多余的空白符(多余的空格、换行或跳格均看作是一个空格) 要显示空格:用 要显示换行:用<br>标签 或使用<pre>标签 (pre标签的另个作用是让字符以“等宽”格式进行显示。 (2)XML中:不删除PCDATA中多余的空白符。(注意:用IE浏览器查看xml代码时,空白符也被删除了,是因为IE先把xml用xlt技术转换为html再显示的) 额外空白符:指出现在PCDATA以外地方的空白符,也就是出现在标记里的空白符,xml删除额外空白符。额外空白符是为了增加“可读性”。 解析器如何 决定什么是空白符? 标签内只含有元素,则里边的空白符为额外空白符;标签内有PCDATA或PCDATA和元素共存时,空白符看作是数据的一部分。 ........... 2.5 空元素(无PCDATA的元素) <middle></middle> 也可写作<middle/> 使用情形: 元素把全部数据都放到了属性里 只需要元素名,如xhtml中的<br/> 2.6 xml声明语句 为什么要声明? 对于windows,不声明也可以,只要存为.xml文件解析器即可识别;但对于其它OS,这样则不可,必须声明。结果,加上声明是个好习惯。(声明还可提供其它信息,如版本、编码、独立性) 语句:<? xml version = "1.0" ?>,其中xml声明了当前文档是个xml类型,version说明了版本号。 最全:<? xml version="1.0" encoding="UTF-16" standalone="yes" ?> version必有,encoding和standalone是可选的。encoding指定编码,standalone表明该文档是否依赖其它文件。 2.7 处理指令(向处理xml的应用程序传递指令) 语法 :<?应用程序名 程序要执行的行为 ?> 里边的应用程序又叫“应用目标程序”---PITarget(Processing Instruction Target) 2.8 非法的PCDATA字符----- < 和 & 原因:xml中用‘<’表示开始一个新元素;用&表示一个实体。 术语解释:PCDATA(parsed Character data),即被解析的字符数据,解析器会对此类数据进行解析,如上所说。 CDATA(Character Data),字符数据,解析器对此类数据不进行解析,< 和 & 维持原样。 |
相关文章推荐
- AJAX 学习笔记(5) 处理XML文档的DOM元素属性和遍历DOM元素方法
- [XML学习笔记]001-XML概述、编写XML文档
- IOS学习笔记27—使用GDataXML解析XML文档
- XML学习笔记(三):写入XML文档的XmlTextWriter
- C#学习笔记之对象和Xml文档之间的转换
- IOS学习笔记27—使用GDataXML解析XML文档
- w3schools文档学习笔记 - XML
- XML学习笔记之文档类型定义一
- XML学习笔记之文档类型定义(DTD) 和实体(ENTITY)
- Web Services 应用开发学习笔记(二):XML文档类型定义
- IOS学习笔记27—使用GDataXML解析XML文档
- 通过程序校验xml文档学习笔记
- C#学习笔记之创建带属性的Xml文档
- 学习笔记 --android将数据存放及xml文档常用的 方法
- xml学习笔记(6)使用Dom4j对xml文档进行dom解析
- IOS学习笔记27—使用GDataXML解析XML文档
- XML学习笔记(二): 在XML文档的元素间移动(Moving Between Elements)
- [XML学习笔记]002-格式正规的XML文档、XML文档的元素、属性、实体深度详解
- [学习笔记]VS2013中编译时XML文档更新到debug中
- C#学习笔记之向Xml文档追加信息