1.xml可扩展标记语言(Extensible Makeup Language)

最简单的声明语法:

<?xml version="1.0" ?>

用encoding属性说明文档的字符编码:

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

用standalone属性说明文档是否独立:

<?xml version="1.0" encoding="GB2312"  standalone="yes" ?>

格式良好的XML文档必须有且仅有一个根标签,其它标签都是这个根标签的子孙标签

2.在编写XML文件时,有些内容可能不想让解析引擎解析执行,而是当作原始内容处理。
遇到此种情况,可以把这些内容放在CDATA区里,对于CDATA区域内的内容,XML解析程序不会处理,而是直接原封不动的输出。
语法:<![CDATA[ 内容 ]]>

<![CDATA[

<itcast>

<br/>

</itcast>

]]>

3.

文件清单:book.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE books SYSTEM "book.dtd">
<books>
<book>
<name>Java Thinking</name>
<author>Bruce</author>
<price>68</price>
</book>
<book>
<name>Java Core</name>
<author>Gray</author>
<price>79</price>
</book>
</books>

文件清单:book.dtd

文件清单:book.dtd
<!ELEMENT books (book+)>
<!ELEMENT book (name,author,price)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT author (#PCDATA)>
<!ELEMENT price (#PCDATA)>

验证XML文档的范例代码1(会用)

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function initXml(){ var xmldoc = new ActiveXObject("Microsoft.XMLDOM");
xmldoc.validateOnParse = "true";
/**********修改成自己的xml文件*****************/
xmldoc.load("book.xml");
/***************************************************************/
document.write("<br>Error Code: ");
document.write(xmldoc.parseError.errorCode);
document.write("<br>Error Reason: ");
document.write(xmldoc.parseError.reason);
document.write("<br>Error Line: ");
document.write(xmldoc.parseError.line);
}
</script>
</head>
<body onload="initXml();">
</body>
</html>
DTD约束即可以作为一个单独的文件编写,也可以在XML文件内编写
XML文件使用 DOCTYPE 声明语句来指明它所遵循的DTD文件
关联方式
•使用内部DTD
  格式:<!DOCTYPE 书架 […具体规范内容…]>
•使用外部DTD
  格式:<!DOCTYPE 文档根结点 SYSTEM "DTD文件的URL">
  例如: <!DOCTYPE books SYSTEM “book.dtd”>
•使用公共DTD
  格式:
  <!DOCTYPE 文档根结点 PUBLIC "DTD名称" "DTD文件的URL">
  例如:
  <!DOCTYPE web-app PUBLIC

  "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN“

  "http://java.sun.co.m/dtd/web-app_2_3.dtd">

4.实体(相当于变量)

•引用实体主要在 XML 文档中被应用
•语法格式:
•<!ENTITY 实体名称 “实体内容” >
•引用方式:
•&实体名称;
•举例:
•<!ENTITY copyright “I am a programmer">
•……
•&copyright;
5.内部实体
•参数实体被 DTD 文件自身使用
•语法格式:
•<!ENTITY % 实体名称 "实体内容" >
•引用方式:
•%实体名称;
•举例:
•<!ENTITY %TAG_NAMES "姓名 | EMAIL | 电话 | 地址">
•<!ELEMENT 个人信息 (%TAG_NAMES; | 生日)>
•<!ELEMENT 客户信息 (%TAG_NAMES; | 公司名)>
6.外部实体

l语法格式:
•<!ENTITY 实体名称 SYSTEM "URI/URL">
l引用方式:
•&实体名称;
l举例:
•<!ENTITY info SYSTEM "part.xml">
•……
•& info;
 

7. schema
* 扩展名:*.xsd
* schema文档来说是基于xml
* schema文档,根元素是schema,在http://www.w3.org/2001/XMLSchema定义
* 要求:(作业)
* 通过别人书写的schema文档,写出相应的XML文档(w3cschool.chm)
** 通过xml文档书写相应的schema文档(PPT5片段)【可选】

DOM解析的更多相关文章

  1. Android之DOM解析XML

    一.DOM解析方法介绍 DOM是基于树形结构的节点或信息片段的集合,允许开发人员使用DOM API遍历XML树,检索所需数据.分析该结构通常需要加载整个文档和构造树形结构,然后才可以检索和更新节点信息 ...

  2. dom解析和sax解析的区别及优缺点

    dom解析一开始就将文档所有内容装入内存,每个元素(标签)都作为一个element对象存储,形成对象树,缺点是对内存占用大,不能解析数据量很大的文档:优点是方便进行crud操作. sax解析,逐行解析 ...

  3. JAVA中使用DOM解析XML文件

    XML是一种方便快捷高效的数据保存传输的格式,在JSON广泛使用之前,XML是服务器和客户端之间数据传输的主要方式.因此,需要使用各种方式,解析服务器传送过来的信息,以供使用者查看. JAVA作为一种 ...

  4. Java Dom解析的三个实例

    概述 Dom解析的文章已经烂大街了.在这里,只举三个场景下如何编码的例子: xml内有多个同名节点,获取这多个同名节点 已获取到某个节点,生成这个节点的xml描述 修改节点某属性的值 详细的讲解看官请 ...

  5. 简单谈谈dom解析xml和html

    前言 文件对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口.html,xml都是基于这个模型构造的.这也是一个W3C推出的标准.j ...

  6. 用java操作XML文件(DOM解析方式)

    XML 可扩展标记语言(Extensible Markup Language),是独立于软件和硬件的传输工具. XML的作用: (1)用作配置文件 (2)简化数据共享 (3)简化数据传输 XML DO ...

  7. DOM解析XML文件

    1.首先把第三方代码拖进工程 GDataXMLNode.h和GDataXMLNode.m这两个文件放进工程里面 2.引入libxml2库文件 3.将GDataXMLNode.h文件中的这两个东西在工程 ...

  8. Java从零开始学四十二(DOM解析XML)

    一.DOM解析XML xml文件 favorite.xml <?xml version="1.0" encoding="UTF-8" standalone ...

  9. XML文件解析DOM解析和SAX解析

    解析一个XML文档有哪些内容解析有:dom和sax两种dom:把整个XML文档放入内存,适合XML随机访问,占用内存资源大sax:事件驱动型的XML解析方式,顺序读取,不用一次装载整个文件,遇到标签会 ...

  10. xml语法、DTD约束xml、Schema约束xml、DOM解析xml

    今日大纲 1.什么是xml.xml的作用 2.xml的语法 3.DTD约束xml 4.Schema约束xml 5.DOM解析xml 1.什么是xml.xml的作用 1.1.xml介绍 在前面学习的ht ...

随机推荐

  1. About_MySQL Select--来自copy_03

    MySQL Select   查询分类 单表查询:简单查询 多表查询:连接查询 联合查询:多个查询结果汇总 查询的组成 投影查询:挑选要显示的字段 select array1,array2,... f ...

  2. parentNode,offsetParent

    元素.parentNode : 父节点   只读 属性 当前节点的父级节点 没有兼容性问题 可放心使用 <!DOCTYPE HTML> <html> <head> ...

  3. 单页Web应用:

    概念: Web应用程序: WEB应用程序一般是B(浏览器)/S(服务器)模式.Web应用程序首先是“应用程序”,和用标准的程序语言,如C.C++等编写出来的程序没有什么本质上的不同.然而Web应用程序 ...

  4. HTTP协议 (二) 基本认证

    HTTP协议 (二) 基本认证 http协议是无状态的, 浏览器和web服务器之间可以通过cookie来身份识别. 桌面应用程序(比如新浪桌面客户端, skydrive客户端)跟Web服务器之间是如何 ...

  5. bzoj1150: [CTSC2007]数据备份Backup--贪心+优先队列维护堆

    题目大意:将k对点两两相连,求最小长度 易证得,最优方案中,相连的办公楼一定是取相邻的比取不相邻的要更优 然后就可以用贪心来做这道题了.. 之前向CZL大神学习了用堆来贪心的做法orz 大概思路就是将 ...

  6. oracle 字符乱码问题解决方案

    今天在客户服务器上遇到了oracle中文乱码问题,第一个想到的是:要想避免oracle字符乱码的问题,需要注意oracle客户端的字符编码和服务端的字符编码保持一致. 于是操作如下: 1.查看服务端字 ...

  7. 深入了解ios系统机制

    1.什么叫ios?        ios一般指ios(Apple公司的移动操作系统) .        苹果iOS是由苹果公司开发的移动操作系统.苹果公司最早于2007年1月9日的Macworld大会 ...

  8. IOS第14天(2, Modal控制)

    ******控制器modal - (void)btnClick { // 创建控制器对象 HMJumpViewController *jump = [[HMJumpViewController all ...

  9. iTop各数据表联系图(持续更新中)

  10. 四个查找命令find,locate,whereis,which的区别

    find最强大,但是检索硬盘,比较慢: whereis只能查二进制文件.说明文档,源文件等: locate能查所有文件,但跟whereis一样都是查数据库里的内容,速度快,但有延时: which 只能 ...