网上看了一些例子,总是有报错,也找不出错误。
XML文件全文如下:<data>
<place>
<placeName>CBC网吧</placeName>
<address>劳动路38号</address>
<IP>192.168.89.22</IP>
<name>周明达</name>
<phone>85011411</phone>
</place> <place>
<placeName>FHG旅馆</placeName>
<address>北京路56号</address>
<IP>192.168.233.22</IP>
<name>刘德华</name>
<phone>85042326</phone>
</place>
</data>
如何用javascript读取其中的内容。我不是很会javascript,要把所有内容都读出来,请把静态页面内容全贴出来,十分感激,谢谢了。
XML文件全文如下:<data>
<place>
<placeName>CBC网吧</placeName>
<address>劳动路38号</address>
<IP>192.168.89.22</IP>
<name>周明达</name>
<phone>85011411</phone>
</place> <place>
<placeName>FHG旅馆</placeName>
<address>北京路56号</address>
<IP>192.168.233.22</IP>
<name>刘德华</name>
<phone>85042326</phone>
</place>
</data>
如何用javascript读取其中的内容。我不是很会javascript,要把所有内容都读出来,请把静态页面内容全贴出来,十分感激,谢谢了。
//从xmlHttpRequest对象中得到xml 文档
var xmlDoc=xmlHttp.responseXML;
var itemNode=xmlDoc.getElementByTagName("place");
var list="";
for(var i=0;i<itemNode.length;i++){
list+="<p>"+itemNode[i].getElementsByTagName("placeName")[0].firstChild.nodeValue+"<p>";
list+="<p>"+itemNode[i].getElementsByTagName("address")[0].firstChild.nodeValue+"<p>";
list+="<p>"+itemNode[i].getElementsByTagName("IP")[0].firstChild.nodeValue+"<p>";
list+="<p>"+itemNode[i].getElementsByTagName("phone")[0].firstChild.nodeValue+"<p>";
}
document.getElementsById("你的ID").innerHTML=list我手写的,大概意思就是这样,xmlHttpRequest对象你自己去定义
var xmlDoc=xmlHttp.responseXML;
var itemNode=xmlDoc.getElementByTagName("place");
var list="";
提示ActiveObject未定义!这个类那里引用?HTML页面里怎么引用?
示例xml文件Test.xml
<?xml version="1.0" encoding="gb2312"?>
<root>
<item>
<txt>123</txt>
<url>www.sina.com.cn/url>
<color>yaya</color>
</item>
<item>
<txt>456</txt>
<url>www.163.com</url>
<color>gaga</color>
</item>
</root><SCRIPT LANGUAGE="JavaScript">
var xdoc = new ActiveXObject("Microsoft.XMLDOM");
xdoc.async="true";
xdoc.load('mm.xml');
nodes=xdoc.documentElement.childNodes;
document.write("<li>"+nodes.item(0).text+"</li><li>"+nodes.item(1).text+"</li>");
</SCRIPT>
若是直接是字符串文本的话,直接使用getElementByTagName("标签名")就OK。类似于HTML的读取。HTML和XML都是标记语言 都是有DOM解析 没多大区别。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script>
function NewInfo(){
//alert("1")
var xmlDom; //XML DOM object
var xmlFile="test.xml"; //xml file name
loadXML = function(fileRoute){
xmlDoc=null;
if (window.ActiveXObject){
xmlDoc = new ActiveXObject('Msxml2.DOMDocument');
xmlDoc.async=false;
xmlDoc.load(fileRoute);
}else if (document.implementation && document.implementation.createDocument){
var xmlhttp = new window.XMLHttpRequest();
xmlhttp.open("GET",fileRoute,false);
xmlhttp.send(null);
var xmlDoc = xmlhttp.responseXML;
}
else {xmlDoc=null;}
return xmlDoc;
}
//alert("2")
xmlDom=loadXML(xmlFile);
var newsList2=xmlDom.getElementsByTagName("place");
alert(newsList2.length)
for(var i=0;i<newsList2.length;i++){
var a_placeName = newsList2[i].getElementsByTagName("placeName")[0].childNodes[0].nodeValue;//大图链接
var a_address = newsList2[i].getElementsByTagName("address")[0].childNodes[0].nodeValue;//标题
var a_IP = newsList2[i].getElementsByTagName("IP")[0].childNodes[0].nodeValue;//详细描述
var a_name = newsList2[i].getElementsByTagName("name")[0].childNodes[0].nodeValue;//下载地址(文件真实地址)
alert(a_placeName)
try{
}catch(e2){;}
}
}
</script>
<title>无标题文档</title>
</head><body onload="NewInfo()">
</body>
</html>
提示ActiveObject未定义!这个类那里引用?HTML页面里怎么引用?
十分感谢,这位同学。我实在是不会web,麻烦大家了。我先试试。