请问大侠 截取XML返回内容有关问题
请教大侠 截取XML返回内容问题
1.asp 提交查询参数
function callServer() {
var name = document.getElementById("id").value;
if ((name == null) || (name == "")) return;
var url = "2.asp?id=" + escape(name);
xmlHttp.open("GET", url, true);
xmlHttp.onreadystatechange = updatePage;
xmlHttp.send(null);
}
function updatePage() {
if (xmlHttp.readyState < 4) {
shownr.innerHTML="获取中...";
}
if (xmlHttp.readyState == 4) {
var response = xmlHttp.responseText;
shownr.innerHTML=response;
}
}
2.asp 返回的内容,如:
<get_nr>
<nr>
<nr1>我是张三</nr1>
<nr2>家住北京</nr2>
<nr3>北京是我们的首都,我爱首都!</nr3>
</nr>
</get_nr>
1.asp 返回2.asp 的内容:
<span id="shownr"></span>
"我是张三家住北京北京是我们的首都,我爱首都!"
请教大侠 在1.asp页面 如何分别截取 nr1、nr2、nr3 内容,在文本域显示.
比如:
<input name="nr1" type="text" id="nr1" value="我是张三"><br />
<input name="nr2" type="text" id="nr2 value="家住北京"><br />
<input name="nr3" type="text" id="nr3" value="北京是我们的首都,我爱首都!">
------解决思路----------------------
var xml= xmlHttp.responseXML.documentElement;
这样就可以使用xml进行数据的读取了;
参加一个例子
兼容 IE、Firefox、Chrome、Safari、Opera 等浏览器的 XML 文件加载方式
代码如下,xml 文件名为 1.xml。
1.XML代码
HTML 代码
1.asp 提交查询参数
function callServer() {
var name = document.getElementById("id").value;
if ((name == null) || (name == "")) return;
var url = "2.asp?id=" + escape(name);
xmlHttp.open("GET", url, true);
xmlHttp.onreadystatechange = updatePage;
xmlHttp.send(null);
}
function updatePage() {
if (xmlHttp.readyState < 4) {
shownr.innerHTML="获取中...";
}
if (xmlHttp.readyState == 4) {
var response = xmlHttp.responseText;
shownr.innerHTML=response;
}
}
2.asp 返回的内容,如:
<get_nr>
<nr>
<nr1>我是张三</nr1>
<nr2>家住北京</nr2>
<nr3>北京是我们的首都,我爱首都!</nr3>
</nr>
</get_nr>
1.asp 返回2.asp 的内容:
<span id="shownr"></span>
"我是张三家住北京北京是我们的首都,我爱首都!"
请教大侠 在1.asp页面 如何分别截取 nr1、nr2、nr3 内容,在文本域显示.
比如:
<input name="nr1" type="text" id="nr1" value="我是张三"><br />
<input name="nr2" type="text" id="nr2 value="家住北京"><br />
<input name="nr3" type="text" id="nr3" value="北京是我们的首都,我爱首都!">
------解决思路----------------------
var xml= xmlHttp.responseXML.documentElement;
这样就可以使用xml进行数据的读取了;
参加一个例子
兼容 IE、Firefox、Chrome、Safari、Opera 等浏览器的 XML 文件加载方式
代码如下,xml 文件名为 1.xml。
1.XML代码
<?xml version="1.0" encoding="utf-8"?>
<note>
<t1>
<title>孟子E章的网站</title>
<url>http://dotnet.aspx.cc/</url>
</t1>
<t1>
<title>孟宪会的博客</title>
<url>http://blog.****.net/net_lover/</url>
</t1>
</note>
HTML 代码
<script type="text/javascript">
var xmlDoc = null, xmlhttp = null;
function loadXML() {
xmlhttp = window.XMLHttpRequest ? new window.XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHttp");
if (xmlhttp == null) {
alert("你的浏览器不支持 XMLHttpRequest");
return;
}
xmlhttp.open("GET", "1.xml?" + Date.parse(new Date()), true);
xmlhttp.setRequestHeader("Content-Type", "text/xml");
xmlhttp.onreadystatechange = getmessage;
xmlhttp.send(null);
}
function getmessage() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
xmlDoc = xmlhttp.responseXML.documentElement;
if (xmlDoc == null) {
alert("返回的数据不正确。");
return;
}
var nodes = xmlDoc.getElementsByTagName("t1")
tb = document.getElementById("table_note");
tbody = document.createElement("tbody")
for (i = 0; i < nodes.length; i++) {
tr = document.createElement("tr")
td = document.createElement("td")
td.innerHTML = nodes[i].getElementsByTagName("title")[0].childNodes[0].nodeValue
tr.appendChild(td)
td = document.createElement("td")
url = nodes[i].getElementsByTagName("url")[0].childNodes[0].nodeValue;
td.innerHTML = "<a href='" + url + "'>" + url + "</a>"
tr.appendChild(td)
tbody.appendChild(tr)
}
tb.appendChild(tbody)
}
}
</script>
</head>
<body onload="loadXML()">
<table id="table_note" border="1">
<tr>
<td>姓名</td>
<td>网址</td>
</tr>
</table>
</body>
</html>