`
诸葛蛋疼
  • 浏览: 36893 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

xmlDoc,xmlHttp

阅读更多
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
		<script type="text/javascript">
 <!--
 var xmlHttp ;//发送请求接受响应
 function createXMLHttpRequest(){
 if(window.ActiveXObject){
 xmlHttp = new ActiveXObject("Microsoft.XMLHTTP") ;
 }
 else if(window.XMLHttpRequest){
 xmlHttp = new XMLHttpRequest() ;
 }
 }
 function checkUser(){
 createXMLHttpRequest() ;
 var name = document.getElementById("username").value ;
 var password = document.getElementById("password").value ;
 var url = "servlet/Login_check?username="+name+"&password="+password ;
 xmlHttp.open("GET",url,true) ;
 xmlHttp.onreadystatechange = showResult ;
 xmlHttp.send(null) ;
 }
 //回调函数
 function showResult(){
 if(xmlHttp.readyState == 4){
 if(xmlHttp.status == 200){
 var result = xmlHttp.responseText;//在页面上显示返回的结果
 alert("result:"+result) ;
 if(result=="OK"){
    alert("if执行了么") ;
       window.location.href ="test.html?name=test" ;
 }else{
 document.getElementById("checkResult").innerHTML="<b>"+result+"</b>" ;
 }
 }
 }
 }
 //-->
 </script>
	</head>
	<body>
		ajax
		<br>
		username:
		<input type="text" id="username">
		<div id="checkResult"></div>
		<p>
			password:
			<input type="password" id="password">
		<p>
			<input type="button" value="check" onclick="checkUser()">
		<p>
	</body>
</html>

----------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
		<title>test.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">

		<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->

	</head>
	<script type="text/javascript">
	// 保存读到的XML
	var xml = null;
	var CurrentDate;
	/* 获取XML对象 */
	function loadXmlDoc(xmlUrl) {
		try {
			//创建IE的xml文档
			xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		} catch (e) {
			try {
				//创建FF的xml文档
				xmlDoc = document.implementation.createDocument("", "", null);
			} catch (e) {
				alert(e.message)
			}
		}
		try {
			//关闭异步加载
			xmlDoc.async = false;
			xmlDoc.load(xmlUrl);
			return (xmlDoc);
		} catch (e) {
			alert(e.message)
		}
		return (null);
	}

	function getPropValues() {

		var nodeName = document.getElementById("nodeName").value;
		var propName = document.getElementById("propName").value;
		alert(propName + "这。");
		if (nodeName == "") {
			alert("输入结点名");
			return;
		}

		if (xml == null) {
			xml = loadXmlDoc("data.xml");
			alert("DOM对象以创建");
		}
		// 返回文档中具有指定标记名的所有Element节点
		var nodes = xml.getElementsByTagName(nodeName);

		if (nodes == null) {
			document.getElementById("result").innerText = "所输入的结点名不存在";
			return;
		}

		var results = "";
		if (propName != "" && nodes[0].getAttribute(propName) == null) {
			document.getElementById("result").innerText = "结点不存在所输入 的属性名";
			return;
		}
		for ( var i = 0; i < nodes.length; i++) {
			if (propName != null && propName != "") {
				results += nodes[i].getAttribute(propName) + "\n";
			} else {
				alert("执行了么~");
				results += nodes[0].childNodes[0].nodeValue + "\n"; //childNodes  以Node的形式存放当前节点的子节点。如果没有子节点,则返回空数组。  
			}
		}
		document.getElementById("result").innerHTML = results;
	}

	//根据xpath返回xml节点
	function readXmlNode(node, xpath) {
		try {
			if (node == null || xpath == null) {
				return null;
			} else {
				var result = node.selectSingleNode(xpath);
				if (result == null) {
					return null;
				} else {
					return result;
				}
			}
		} catch (e) {

			return null;
		}

	}

	//根据xpath取xml节点属性的值
	function readXmlAttrValue(node, xpath, attrName) {
		try {
			if (node == null || xpath == null) {
				return null;
			} else {
				var result = node.selectSingleNode(xpath);
				if (result == null) {
					return null;
				} else {
					return result.getAttribute(attrName);
				}
			}
		} catch (e) {
			return null;
		}
	}

	/*-----------------------------------------------------------------------*/
	function readTime1() {
		var date = new Date();
		CurrentDate = ChangeTimeToString(date);
		//alert("hello ");
		//alert(CurrentDate);
		var t = setTimeout("alert(CurrentDate)", 5000);

	}

	function readTime2() {
		var date = new Date();
		CurrentDate = ChangeTimeToString(date);
		//alert(CurrentDate);
		var t = setInterval("alert(CurrentDate)", 5000);

	}

	// 将日期类型转换成字符串型格式yyyy-MM-dd hh:mm
	function ChangeTimeToString(DateIn) {
		var Year = 0;
		var Month = 0;
		var Day = 0;
		var Hour = 0;
		var Minute = 0;
		var CurrentDate = "";

		//初始化时间
		Year = DateIn.getYear();
		Month = DateIn.getMonth() + 1;
		Day = DateIn.getDate();
		Hour = DateIn.getHours();
		Minute = DateIn.getMinutes();

		CurrentDate = Year + "-";
		if (Month >= 10) {
			CurrentDate = CurrentDate + Month + "-";
		} else {
			CurrentDate = CurrentDate + "0" + Month + "-";
		}
		if (Day >= 10) {
			CurrentDate = CurrentDate + Day;
		} else {
			CurrentDate = CurrentDate + "0" + Day;
		}

		if (Hour >= 10) {
			CurrentDate = CurrentDate + " " + Hour;
		} else {
			CurrentDate = CurrentDate + " 0" + Hour;
		}
		if (Minute >= 10) {
			CurrentDate = CurrentDate + ":" + Minute;
		} else {
			CurrentDate = CurrentDate + ":0" + Minute;
		}
		return CurrentDate;
	}

	/*------------------------------------------------------------------*/

	function writeStream() {

		var fso, tf;
		fso = new ActiveXObject("Scripting.FileSystemObject");
		tf = fso
				.CreateTextFile("D:/workspace/studyTest/WebRoot/test.txt", true);
		var textArea = document.getElementById("result")
		tf.WriteLine(textArea.innerText);
		tf.WriteBlankLines(2);
		tf.Close();
	}

	/*---------------------------------------------------------------------*/
	function findAll() {
		if (xml == null) {
			xml = loadXmlDoc("data.xml");
			//alert("DOM对象以创建");
		}
		var results = "";
		var nodes = xml.documentElement;//根节点
		var childs = nodes.childNodes;//子节点数组
		for ( var x = 0; x < childs.length; x++) {
			if (childs[x].nodeType == 1) {
				var child = childs[x].childNodes; //子节点的下一级子节点

				for ( var y = 0; y < child.length; y++) {
					var arrylist = child[y].attributes;//属性列表
					if (arrylist.length <= 0) {
						results += child[y].nodeName + ":"
								+ child[y].childNodes[0].nodeValue + "\n";
					} else {

						for ( var z = 0; z < arrylist.length; z++) {
							//document.write(child[y].nodeName + "\n");
							//alert(arrylist[z].nodeName);
							//alert(child[y])
							results += child[y].nodeName+":"+arrylist[z].nodeName + ":"
									+ arrylist[z].nodeValue + "\n"; //arrylist[z].text获得 属性的值
						}

					}
				}

			}
		}

		document.getElementById("result").innerHTML = results;
	}

	/*---------------------------------------------------------------------------------------------------------------------*/
	function getValueByNode() {
		if (xml == null) {
			xml = loadXmlDoc("data.xml");
			alert("DOM对象已创建");
		}
		var nodeName = document.getElementById("nodeName").value;
		alert("nodeName:" + nodeName);
		var propName = document.getElementById("propName").value;
		alert("propName:" + propName);
		var results = "";
		//节点名为nodeName的所有元素节点
		if (nodeName != null && "" != nodeName) {
			var nodes = xml.getElementsByTagName(nodeName);
			alert("nodes的长度:" + nodes.length);
			if (propName != null && "" != propName) {
				for ( var x = 0; x < nodes.length; x++) {
					results += propName + ":" + nodes[x].getAttribute(propName)
							+ "\n";

				}

			} else {
				results += nodeName + ":" + nodes[0].childNodes[0].nodeValue
						+ "\n";
			}

		} else {
			alert("节点名称不能为空");
		}
		document.getElementById("result").innerText = results;
	}

	//接受网址上的参数
	function getParameter() {
	    //获得url
		var url = window.location.href;
		alert("url:"+url);
		var aa = url.indexOf('=');
		alert("aa:"+aa);
		if (aa == -1) {
			return "";
		} else {
			url = url.substring(aa + 1);
			window.alert(url);
		}
		return url;

	}

	function showView() {
		var url = getParameter();
		document.getElementById("showView").innerText = "欢迎," + url;
	}
</script>
	<body onload=showView()>
		<div id="showView"></div>
		输入结点名:
		<input type="text" id="nodeName" />
		<br />
		输入属性名:
		<input type="text" id="propName" />
		<br />
		<input type="button" value="提交" onclick="getValueByNode()" />
		<br />
		<textarea id="result" style="width: 200px; height: 60px;"></textarea>
		<br />
		<button onclick="readTime1()">
			显示当前日期1
		</button>
		<button onclick="readTime2()">
			显示当前日期2
		</button>
		<button onclick="writeStream()">
			写如文件
		</button>

		<button onclick="findAll()">
			遍历XML
		</button>
	</body>
</html>


分享到:
评论

相关推荐

    ASP.NET后台代码实现XmlHttp跨域访问

    ### ASP.NET后台代码实现XmlHttp跨域访问 在Web开发领域,跨域访问是一个常见的问题。当客户端尝试从一个源加载不同源的数据时,就会触发跨域问题。为了解决这个问题,开发者通常会采用多种技术手段,其中一种是...

    xmlhttp无刷新

    var xmlDoc = xmlhttp.responseXML; if (xmlDoc == null) { return "内容为空"; } var requestNode = xmlDoc.getElementsByTagName("response")[0]; var node = requestNode.firstChild.nodeValue; return ...

    asp下利用XMLHTTP 从其他页面获取数据的代码

    Set xmlDoc = xmlHttp.responseXML ' 处理 xmlDoc... ``` #### 五、案例分析 ##### 案例一:获取 HTML 内容 下面的代码演示了如何使用 XMLHTTP 从指定 URL 获取 HTML 内容,并将其显示在当前页面上。 ```...

    Ajax精短实例教程

    var xmlDoc = xmlhttp.responseXML; ``` ### 4. 事件 #### XMLHttpRequest.onreadystatechange `onreadystatechange` 事件在`readyState`属性变化时触发。`readyState` 从0到4,表示请求的五个不同阶段。当`...

    js读取xml文件并获取文件内容

    xmlDoc = xmlhttp.responseXML; ``` #### 解析与获取XML内容 1. **DOM操作**: - 一旦XML文档加载完毕,可以通过DOM API(Document Object Model Application Programming Interface)访问和操作XML文档中的...

    ajax联动查询后绑定控件

    var xmlDoc = xmlHttp.responseXML; var objSel_goodsDesc = document.getElementById("sel_goodsDesc"); var items= xmlDoc.getElementsByTagName("good"); objSel_goodsDesc.options.length = 0; //清空...

    XML应用开发(软件品牌)-1期 6.2 案例分析-加载XML文档.doc

    xmlDoc = xmlhttp.responseXML; ``` 以上就是XML应用开发中加载XML文档的基本步骤和示例。理解这些概念和技术对于开发涉及XML数据处理的应用至关重要,无论是在Web开发、数据交换还是配置文件管理等场景中。

    XMLHttpRequest中文参考手册(8)

    var xmlDoc = xmlhttp.responseXML; // 处理 xmlDoc } else { console.log("响应不是有效的 XML 或者解析失败"); } ``` ##### 备注 - 如果服务器响应的数据不是有效的 XML 格式或者 XML 解析过程中出现错误,则...

    XMLHttpRequest

    xmlhttp.send(xmldoc); ``` 9. **`abort()` 方法**: - **作用**:取消正在进行的请求。 - **示例**: ```javascript xmlhttp.abort(); ``` 10. **`setRequestHeader()` 方法**: - **作用**:设置 HTTP ...

    javascript读取服务器端XML文件收集.pdf

    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } ``` 接下来,你需要设置请求的URL和类型。在这个例子中,URL指向服务器上的XML文件,请求类型是GET,意味着你只是简单地获取资源,而不是发送数据。同时,...

    AJAX初级应用-RSS无刷新聚合器的代码与下载第1/3页

    xmldoc = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e){ return false; } } } } if(!xmldoc){ return false; } // 设置回调函数 xmldoc.onreadystatechange = function(){ if(xmldoc....

    PBXML写读例子,接口程序用得着

    xmlDoc.Root().AddChild("childElement").Text = "SomeValue" ``` 接着,我们来看XML的读取。在PB中,可以使用DOM解析器加载XML文件,然后通过遍历DOM树来访问和操作XML数据。以下是一个简单的读取示例: ```pb ...

    Ajax相关学习内容整理.pdf

    xmlDoc = xmlhttp.responseXML; // 之后可以解析xmlDoc对象 ``` #### 6. readyState事件处理 `readyState`属性指示XMLHttpRequest对象的状态。每当此属性值改变时,会触发`onreadystatechange`事件。在事件处理...

    javascript解析xml文件

    let xmlDoc = xmlHttp; } ``` 一旦有了XML文档对象,我们可以将其内容转换为HTML。这通常涉及到遍历XML节点并创建对应的HTML元素。例如,如果XML是简单的列表,我们可以创建一个`&lt;ul&gt;`元素,并为每个`&lt;item&gt;`元素...

    Ajax简单实例

    var xmlDoc = xmlhttp.responseXML.documentElement; // 获取 XML 文档根节点 var Data1 = ""; if (xmlDoc.getElementsByTagName("Data1")[0].childNodes[0] != null) { Data1 = xmlDoc.getElementsByTagName(...

    ajax各个属性

    var xmlDoc = xmlhttp.responseXML; var node = xmlDoc.getElementsByTagName('item')[0]; console.log(node.textContent); ``` **5. `status`** - **作用**:服务器响应的 HTTP 状态码。 - **常见状态码**...

    XML HTTP资料

    首先,创建XMLHTTP对象可以通过以下代码实现: ```vbscript Set objXML = CreateObject("Msxml2.XMLHTTP") ``` 或者,如果需要使用3.0版本,可以使用: ```vbscript Set objXML = CreateObject("MSXML2....

    简单的无刷新分页,附代码

    xmlDoc.loadXML(xmlHttp.responseText); var content = xmlDoc.getElementsByTagName("content")[0]; var currentPageNode = content.getElementsByTagName("currentpage")[0].firstChild.nodeValue; var ...

    Ajax在Web应用上的分析与思考.pdf

    var xmlDoc = xmlhttp.responseXML; // 根据实际需要解析XML数据并更新页面 } } ()"&gt; &lt;!-- 页面内容 --&gt; ``` #### 七、结论 Ajax技术为Web应用开发带来了革命性的变化,极大地提高了Web应用的性能和用户...

    javascript 对xml文件解析

    var xmlDoc = xmlhttp.responseXML.documentElement; } else { xmlDoc = null; } return xmlDoc; } ``` - **解释**: 这段代码定义了一个名为 `loadXML` 的函数,用于加载 XML 文件并返回 XML 文档对象。首先...

Global site tag (gtag.js) - Google Analytics