jsロードxml

4982 ワード

1、Server.CreateObject(「Microsoft.XMLHTTP」)は、ブラウザで持参したオブジェクトであり、処理要求がxmlオブジェクトに戻るオブジェクトであり、Readystateは彼の状態でありajaxの基礎である.これにより、バックグラウンドのオブジェクトにリクエストを送信し、返信を受信し、Webページを動的に変更し、ユーザー体験を向上させることができます.
2、Microsoft.XMLDOM関連資料はxmlを1つロードします

<?xml version="1.0" encoding="UTF-8"?>
<!--        encoding standalone  ,standalone     encoding     -->
<book>
	<author>  </author>
	<title>java web  </title>
	<price>$5</price>
</book>



/*JavaScript  XML  */
function loadXMLDoc(dname){
	try{
		//     XML     XML  
		xmlDoc = new ActiveXObject("Microsoft.XMLDOM");//      XML    
		
	}catch(e){
		try{
			//        XML     XML  
			xmlDoc = document.implementation.createDocument("","",null);//    XML    
			
		}catch(e){alert(e.message)}
	}
	try{
		xmlDoc.async = false;//      
		xmlDoc.load(dname);//    "xxx.xml"   
		return(xmlDoc);
	}catch(e){alert(e.message)}
	return(null);
	
}

function loadXMLDocByHttp(dname){
	
	if(window.XMLHttpRequest){
	
		xhttp = new XMLHttpRequest();//     ,    XMLHTTP  (  IE7+)
		
	}else{
	
		xhttp = new ActiveXObject("Microsoft.XMLHTTP");//      XMLHTTP  (    IE5 IE6)	
	}
	xhttp.open("GET",dname,false);//  XMLHTTP  
	xhttp.send();//  XMLHTTP  
	xmlDoc =  xhttp.responseXML;//  XMLDoc  
	return xmlDoc;
}

/*  XML   */
function loadXMLString(txt){

	if(window.DOMParser){//     
	
		parser = new DOMParser();
		xmlDoc = parser.parseFromString(txt,"text/xml");//    XML    
		
	}else{
		xmlDoc = new ActiveXObject("Microsoft.XMLDOM");//      XML    
		xmlDoc.async = "false";//      
		xmlDoc.loadXML(txt);
	}

	return xmlDoc;

}


<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
	<script type="text/javascript" src="loadxmldoc.js"></script>
  </head>
  
  <body>
    <script type="text/javascript">
		xmlDoc=loadXMLDoc("book.xml");
		xmlDocHttp = loadXMLDocByHttp("book.xml");
		
		document.write("xmlDoc is loaded, ready for use");
		document.write("xmlDocHttp is loaded, ready for use");
		document.write("</br>");
		
		var arr = xmlDoc.getElementsByTagName("title");
		for(var i=0;i<arr.length;i++){
			var oXMLNode = arr[i];
			document.write("    : "+oXMLNode.nodeName);
			document.write("</br>");
			document.write(oXMLNode.text);
			document.write("</br>");
			document.write(oXMLNode.nextSibling.nodeName+"  ");//         
			document.write(oXMLNode.previousSibling.nodeName);//         
			document.write("</br>");
			document.write(oXMLNode.parentNode.nodeType+"  ");//   
			document.write(oXMLNode.parentNode.nodeName+"  ");
			document.write(oXMLNode.parentNode.nodeValue);
			document.write("</br>");
			var arrXMLNodes = oXMLNode.childNodes;//     
			for(var j=0;j<arrXMLNodes.length;j++){
				document.write(arrXMLNodes[j].nodeName);
				document.write("</br>");
				document.write(arrXMLNodes[j].nodeType);
				document.write("</br>");
				document.write(arrXMLNodes[j].nodeValue);
			}
			
		}

	</script>
  </body>
</html>