gengen'blog

研究探讨asp.net,js,html,c#
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

js+xml

Posted on 2007-01-23 19:51  gengen  阅读(316)  评论(0)    收藏  举报

XML文件:
<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE EVENTS [
<!ELEMENT EVENTS (EVENT*)>
<!ELEMENT EVENT (EVENT_TITLE, EVENT_NUMBER, SUBJECT, DATE, PEOPLE*)>
<!ELEMENT EVENT_TITLE (#PCDATA)>
<!ELEMENT EVENT_NUMBER (#PCDATA)>
<!ELEMENT SUBJECT (#PCDATA)>
<!ELEMENT DATE (#PCDATA)>
<!ELEMENT NAME (#PCDATA)>
<!ELEMENT TITLE (#PCDATA)>
<!ELEMENT PEOPLE (PERSON*)>
<!ELEMENT PERSON (NAME,TITLE)>
<!ATTLIST EVENT
TYPE CDATA #IMPLIED>
<!ATTLIST PERSON
ATTENDENCE CDATA #IMPLIED>
]>

<EVENTS>
<EVENT TYPE="informal">
<EVENT_TITLE>第16届环境大会</EVENT_TITLE>
<EVENT_NUMBER>1206</EVENT_NUMBER>
<SUBJECT>当前面临的问题和解决措施</SUBJECT>
<DATE>2004/11/26</DATE>
<PEOPLE>
<PERSON ATTENDENCE="出席人">
<NAME>张涛</NAME>
<TITLE>部长</TITLE>
</PERSON>
<PERSON ATTENDENCE="缺席人">
<NAME>赵奇</NAME>
<TITLE>教授</TITLE>
</PERSON>
<PERSON ATTENDENCE="出席人">
<NAME>马玉山</NAME>
<TITLE>高级工程师</TITLE>
</PERSON>
</PEOPLE>
</EVENT>
</EVENTS>


JS文件:
<html><head><title>访问XML元素</title>
<script language="javascript">
<!--
function reader(){
var url="locahost/webexample/";
var document1, eventsNode, eventNode, peopleNode ;
var nameNode, titleNode, displayText ;
document1 = new ActiveXObject("Microsoft.XMLDOM");
document1.load(url + "16-2.xml") ;
eventsNode = document1.documentElement ;
eventNode = eventsNode.firstChild ;
peopleNode = eventNode.lastChild ;
personNode = peopleNode.lastChild ;
nameNode = personNode.firstChild ;
titleNode = nameNode.nextSibling ;
displayText = "第三位客人是:" + nameNode.firstChild.nodeValue +
' ' + titleNode.firstChild.nodeValue;
div1.innerHTML=displayText;
}
//-->
</script>
</head>
<body>
<h1>访问XML元素</h1>
<input type="button" value="得到第三位客人的名字和职位"
onclick="reader()">
<br> <br>
<div id="div1"></div>
</body>
</html>
如果在盘里直接打开JS的HTML页可以读取XML数据,但我在DREAMWEAVER中预览这个文件时却出错,错误为缺少对象,alert 一下document1.documentElement 为null