页面文件已经能够包含html和js代码
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>demo1.html</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="this is my page"> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <script language="javascript" type="text/javascript"> var xhai_xml; function xhai_GetXML(){ try{ xhai_xml = new ActiveXObject("Microsoft.XMLDOM"); xhai_xml.async=true; xhai_xml.onreadystatechange = GetReadyIE; xhai_xml.load("datafile.xml"); }catch(Exception){ var record; xhai_xml = document.implementation.createDocument("","M2MDoc",null); xhai_xml.async=false; xhai_xml.load("datafile.xml"); //alert(xhai_xml.getElementsByTagName("SPID")[0].firstChild.nodeValue); record = "SPID:"+xhai_xml.getElementsByTagName("SPID")[0].firstChild.nodeValue+"<br>"; //alert(xhai_xml.getElementsByTagName("SPName")[0].firstChild.nodeValue); record = record + "SPName:"+ xhai_xml.getElementsByTagName("SPName")[0].firstChild.nodeValue + "<br>"; record = record + "MovieID | MovieName | Class |<br>"; //alert(xhai_xml.getElementsByTagName("Item").length); var items = xhai_xml.getElementsByTagName("Item"); for(var i = 0 ; i < items.length ; i++){ //alert(items[i].attributes.length); var attributes = items[i].attributes; for(var j = 0 ; j < attributes.length ; j++){ //alert(attributes[j].value); record = record + attributes[j].value + "|"; } record = record + "<br>"; } var page_attributes = xhai_xml.getElementsByTagName("Page")[0].attributes; record = record + "Name:" + page_attributes[0].value+" "; record = record + "AllPage" + page_attributes[1].value+" "; record = record + "Count" + page_attributes[2].value+" "; document.write(record); } } function GetReadyIE(){ if(xhai_xml.readyState==4){ if(xhai_xml.parseError.errorCode==0){ document.write("SPID:"+xhai_xml.documentElement.selectNodes("SPID")(0).text+"<br />"); document.write("SPName:"+xhai_xml.documentElement.selectNodes("SPName")(0).text+"<br />"); document.write("<br />"); var i,c,d,Line; var MovieList = xhai_xml.documentElement.selectNodes("//MovieList/Item"); var j=MovieList.length; Line = MovieList.item(0); d=Line.attributes.length; for(c=0;c<d;c++){ document.write(Line.attributes(c).name+" | "); } document.write("<br />"); for(i=0;i<j;i++){ Line = MovieList.item(i); d=Line.attributes.length; for(c=0;c<d;c++){ document.write(Line.attributes(c).value+" | "); } document.write("<br />"); } document.write("<br />"); var page = xhai_xml.documentElement.selectNodes("//Page").item(0) j=page.attributes.length; for(i=0;i<j;i++){ document.write(page.attributes(i).name+":"); document.write(page.attributes(i).value+" "); } } delete(xhai_xml); } } xhai_GetXML(); </script> </head> <body> </body> </html>
datafile.xml
<?xml version="1.0" encoding="gb2312"?> <M2MDoc> <SPID>3</SPID> <SPName>5</SPName> <MovieList> <Item MovieID="103704" MovieName="忍" Class="动作片" /> <Item MovieID="103701" MovieName="风斗士" Class="动作片" /> <Item MovieID="103693" MovieName="无血无泪11" Class="动作片" /> </MovieList> <Page Number="1" AllPage="3" Count="45"/> </M2MDoc>?
?
?兼容IE和Firefox浏览器
1 楼
fys124974704
2008-06-16
在 catch 可以有另外一个写法,这样写我感觉更标准,更容易看明白!
var record;
xhai_xml = document.implementation.createDocument("","M2MDoc",null);
xhai_xml.async=false;
xhai_xml.load("datafile.xml");
record = "SPID:"+xhai_xml.getElementsByTagName("SPID")[0].firstChild.nodeValue+"<br>";
record = record + "SPName:"+ xhai_xml.getElementsByTagName("SPName")[0].firstChild.nodeValue + "<br>";
record = record + "MovieID | MovieName | Class |<br>";
var oEvaluator = new XPathEvaluator();
var oResult = oEvaluator.evaluate("/M2MDoc/MovieList/Item",xhai_xml,null,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null);
if(oResult != null){
var oElement = oResult.iterateNext();
while(oElement){
oElement = oResult.iterateNext();
}
}
var page_attributes = xhai_xml.getElementsByTagName("Page")[0].attributes;
record = record + "Name:" + page_attributes[0].value+" ";
record = record + "AllPage" + page_attributes[1].value+" ";
record = record + "Count" + page_attributes[2].value+" ";
document.write(record);
var record;
xhai_xml = document.implementation.createDocument("","M2MDoc",null);
xhai_xml.async=false;
xhai_xml.load("datafile.xml");
record = "SPID:"+xhai_xml.getElementsByTagName("SPID")[0].firstChild.nodeValue+"<br>";
record = record + "SPName:"+ xhai_xml.getElementsByTagName("SPName")[0].firstChild.nodeValue + "<br>";
record = record + "MovieID | MovieName | Class |<br>";
var oEvaluator = new XPathEvaluator();
var oResult = oEvaluator.evaluate("/M2MDoc/MovieList/Item",xhai_xml,null,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null);
if(oResult != null){
var oElement = oResult.iterateNext();
while(oElement){
oElement = oResult.iterateNext();
}
}
var page_attributes = xhai_xml.getElementsByTagName("Page")[0].attributes;
record = record + "Name:" + page_attributes[0].value+" ";
record = record + "AllPage" + page_attributes[1].value+" ";
record = record + "Count" + page_attributes[2].value+" ";
document.write(record);