每次使用它检查xml文件时,仅仅需改动xmldoc.load("xml文件名称");中的文件名称,然后将该文件放在浏览器中执行就可以。
依据浏览器弹出的对话框进行推断自己写的xml是否满足dtd约束
说明:
1.正确的xml文件:语法上没有错
有效的xml文件:语法上没有错,而且也满足dtd约束。
2.这个仅仅能用IE浏览器去測试,用火狐浏览器測试无效。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>一叶扁舟</title>
</head>
<body>
<script type="text/javascript">
//创建IE内置解析器
var xmldoc = new ActiveXObject("Microsoft.XMLDOM");
//开启xml校验
xmldoc.validateOnParse="true";
//载入须要检查的XML文件
xmldoc.load("arg_entity.xml");
//正确
if(xmldoc.parseError.reason.length==0){
window.alert("有效的XML文件(语法正确+DTD约束");
//出错
}else{
window.alert(xmldoc.parseError.reason);
}
</script>
</body>
</html>
自己写的xml文件:(class.xml)
<?xml version="1.0" encoding ="UTF-8"?>
<!DOCTYPE person SYSTEM "class.dtd">
<!-- 用dtd-描写叙述一个学生的信息 -->
<person>
<student>
<name>一叶扁舟</name>
<age>23|</age>
<sex>男</sex>
</student>
<student>
<name>无悔</name>
<age>20</age>
<sex>男</sex>
</student>
</person>
定义的dtd约束文件:(class.dtd)
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT person (student+)>
<!ELEMENT student (name,age,sex)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT age (#PCDATA)>
<!ELEMENT sex (#PCDATA)>
效果截图: