DOM解析

时间:2024-05-21 19:33:26

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片段)【可选】