通行证: 用户 密码 域名空间  下载中心 社区论坛 信息公告 MY小屋
联系我们
设为首页
加入收藏

 

QQ,ASP,PHP,JSP,XML,SQL,.Net,编程 程序 网页图象 建站经验 私服
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿
论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图
专题 | 应用软件 | 聊天通讯 | Q Q 专栏 | 建站经验 | 在线工具 | 站长Club | 注 册 表 | 旧版
社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 韩国素材 | 素材图库 | 广告服务 | 服务
当前位置:首页>>编程开发>>XML专区>>正文 新版上线![旧版]
注:打开慢时请稍等

检查XML文件的有效性

http://www.iyit.net  日期:2006-5-24 12:03:39  来源:整理转载   点击:
参加讨论】    本章最后提出一个HTML 网页,该网页会开启一份XML 文件并使用DOM 的属性来回报网页包含的任何错误。如果文件中没有文件形态宣告,此网页只会传回格式正确性的错误讯息。如果文件包含了文件形态宣告,则网页将回报格式正确性与有效性的错误讯息。你可以利用此网页来测试任何的XML 文件。

如何使用有效性测试网页

    1. 在文字编辑器中, 开启 有效性测试网页 Validity Test.htm 。(你可以在随书光盘与下节的列表9-10 中找到此网页。)
    2. 编辑网页中 BODY 标签里的 data island ,好让其SRC 属性被指定成你想要测试的XML 文件的URL 值。例如,要测试文件Raven.xml,你需要将data island编辑如下:
<XML ID="dsoTest" SRC="Raven.xml"></XML>
    3. 使用文字编辑器中的 Save 指令,来储存更改过的网页。
    4. 将网页 开启 于Internet Explorer 5 中:
    当Internet Explorer 5 中XML 处理程序处理网页首次遭遇错误时,此网页将显示一个消息框,显示出错误的相关信息。
    下图为处理的文件毫无错误时,消息框显示的结果:

    下图则为处理文件遭遇错误时,消息框展示错误讯息的例子:


有效性测试网页如何运作

    到目前为止你在本章中所看到的HTML 网页,都做了两个简化处理的假设:
    被连结的XML 文件是正确不含错误的。如果假设不成立,将无法得到任何表示XML 文件资料的节点。
    当script 试着存取XML 文件的资料时,浏览器已经完成加载和处理此文件的工作。如果假设不成立,部分XML 数据将无法取得。
    如果上述假设中任何一个不成立时,部分或全部的XML 资料将无法显示在网页上。这里提出的有效性测试网页将告诉你,如何测试被链接的XML 文件是否包含错误。你可以在你撰写的网页中加入类似的测试,如果文件中含有错误时,将显示对你有帮助的讯息。有效性测试网页也显示了script 程序如何能够确定在存取XML 文件数据前,XML 文件已经完全被加载且处理完毕。为了简单化,这些技术从本章先前范例中省略,但你可以在你自己的网页中运用这些技术。
    列表9-10 显示有效性测试网页的内容。(你可以在随书光盘的Validity Test.htm 档案中找到列表9-10。)
Validity Test.htm
<!--File Name:Validity Test.htm -->
<HTML>
<HEAD>
<TITLE>Validity Tester</TITLE>
<SCRIPT LANGUAGE="JavaScript" FOR="window" EVENT="ONLOAD">
Document =dsoTest.XMLDocument;
if (Document.readyState =4)
DisplayError ();
else
Document.onreadystatechange =DisplayError;
function DisplayError ()
{
if (Document.readyState !=4)
return;
message ="parseError.errorCode:"
+Document.parseError.errorCode +"\n"
+"parseError.filepos:"
+Document.parseError.filepos +"\n"
+"parseError.line:"
++Document.parseError.line
+"\n"
+"parseError.linepos:"
+Document.parseError.linepos +"\n"
+"parseError.reason:"
+Document.parseError.reason +"\n"
+"parseError.srcText:"
+Document.parseError.srcText +"\n"
+"parseError.url:"
++Document.parseError.url;
alert (message);
}
</SCRIPT>
</HEAD>
<BODY>
<!--Set SRC to the URL of the XML document you want to check:-->
<XML ID="dsoTest " SRC="Inventory.xml"></XML>
</BODY>
</HTML>
    HTML 网页包含了一个script 程序,当浏览器第一次为网页开启窗口时会执行该script 程序:
<SCRIPT LANGUAGE="JavaScript" FOR="window" EVENT="ONLOAD">
/*script code ...*/
</SCRIPT>
    Script 程序首先将获得Document 节点:
Document =dsoTest.XMLDocument;
    然后script 程序将测试Document 节点的readyState 属性。如果readyState 属性被设定为4,代表所有的XML 数据已经被加载并处理完毕,此时script 程序会立即呼叫DisplayError 函式来显示此文件的错误状态。然而,如果readyState 属性不是被设定成4,script 程序会将DisplayError函式指定给Document 节点的onreadystatechange 属性,导致每当readyState 属性改变时,浏览器将会呼叫DisplayError 函式来显示错误讯息:
if (Document.readyState =4)
DisplayError (); else Document.onreadystatechange =DisplayError;
    表格9-3 描述了这些Document 属性。
    如果readyState 属性还未被设定为4,函式DisplayError 会立即返回。(当属性readyState 被设定成4 时,函式DisplayError 将再被呼叫。)如果函式继续执行,将显示Document 节点的parseError 成员对象中所有的属性。这些属性彻底地描述XML 文件的错误状态:
function DisplayError ()
{
if (Document.readyState !=4)
return;
message ="parseError.errorCode:"
+Document.parseError.errorCode +"\n"
+"parseError.filepos:"
+Document.parseError.filepos +"\n"
+"parseError.line:" ++Document.parseError.line
+"\n"
+"parseError.linepos:"
+Document.parseError.linepos +"\n"
+"parseError.reason:"
+Document.parseError.reason +"\n"
+"parseError.srcText:"
+Document.parseError.srcText +"\n"
+"parseError.url:" ++Document.parseError.url;
alert (message);
}
    如果文件中没有任何错误,parseError.errorCode 属性会被设定为0,而其它属性不是被设定为0 就是空白。如果文件中含有错误,属性parseError.errorCode 会包含一个错误数值码,而其它的属性会描述此错误的相关信息。

编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部]
上一篇:浏览整个XML文件
下一篇:使用XSL样式表来显示XML文件
转载请注明来源:www.iyit.net
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

 相关文章
XML和现代CGI应用程序 XML与其相关技术 XML文件的显示——CSS和XSL
给XML文件定义DTD 动态产生XML文档的几种方式 XML初级应用ABC
编写结构完整的XML文档 XML(可扩展标识语言)的产生 构造未来Web页面的工具语言-- XML
XML 入门介绍 XML入门精解之结构与语法 XML基础教程:掌握SAX
XML基础入门 建立MSXML 测试环境 XML 论坛
让Asp与XML交互 How to generate XML with SQL 2000 XML的一般信息
存取XML的属性 筛选和排序XML数据 使用XSL样式表来显示XML文件
浏览整个XML文件 存取XML实体与卷标 存取与显示XML文件的属性值
最新更新 热点排行 推荐新闻
WML Script标准函数库
WML Script脚本程序设计(二)
WML Script脚本程序设计(一)
WML Script语法基础
WML编程
CGI测试
CGI教程-ErrorDocument 指令
CGI教程-解码数据发送给CGI脚本
跟我学Perl
Perl教学 Perl5的包和模块
Perl教学 Perl的面向对象编程
Perl教学 Perl5中的引用(指针)
Perl教学 格式化输出
Perl教学 关联数组(哈希表)
Perl教学 子程序
WML Script标准函数库
WML Script脚本程序设计(二)
WML Script脚本程序设计(一)
WML Script语法基础
WML编程
优秀公益广告作品欣赏(8)
java数据类型转换
Windows XP专业版IIS连接数的更改
新开放QQ免费挂级网站
优秀公益广告作品欣赏(7)
免费在QQ上看在线电影电视听音乐
QQ珊瑚虫外挂4.0版本发布!
WEB服务器配置全攻略(三)
免费把QQ炫铃设为本机QQ的系统提示音
Office2007简体中文版浮出水面 美图抢
微软将在华推分期付款,充值卡PC 可低价
 AMD处理器AM2测试 风扇竟运行7分钟
exeplorer.exe错误的问题的总结、解决
ASP.NET 2.0 中的异步页功能应用
硬盘坏道修复及数据恢复宝典
免费登录搜索引擎入口大全
搜索引擎注册九大秘法
小心摄像头成为黑客偷窥你的眼睛
内存混插常见问题和解决方法
Office2007简体中文版浮出水面 美图抢
 友情链接
设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyrights © 2004-2006 iYiT.Net All Rights Reserved.
网站合作、广告联系QQ:147007642、466949678
易特网络技术 点击这里给我发消息