确保你已经开启了服务器访问
⑵ 如何通过js读取xml文件的数据
建议使用jQuery,跟操作html一样,伪代码如下: $.ajax({ url: '/xml/Student.xml', type: 'GET', dataType: 'xml', success: function(xml) { var name = $(xml).find('name').text(); $('h1').text(name); }});
⑶ jquery或js读取xml文件
参考代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<head>
<title>jQuery 读取XML文件-jQuery</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<style type="text/css">
h1{color:Green;text-align:center;}
body{ background-color:#EEEEEE ; font-family:微软雅黑; }
#showresult{width:600px;overflow:hidden;}
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#read").click(function () {
$.ajax({
//请求方式为get
type: "GET",
//xml文件位置
url: "sitemap.xml",
//返回数据格式为xml
dataType: "xml",
//请求成功完成后要执行的方法
success: function (xml) {
$(xml).find("url").each(function (i) {
//i从0开始,累加,如果要显示所有数据,将判断去除即可
if (i < 10) {
//链接地址
var location = $(this).find("loc").text();
//显示文字
var text = $(this).find("loc").text();
//动态加载方法:链接地址
$("<a>").attr("href", location)
//显示文字
.text(text)
//设置样式
.css({ "width": "700px", "float": "left", "margin-bottom": "5px" })
//加载到div
.appendTo("#showresult");
}
})
}
});
return false;
});
});
</script>
</head>
<body>
<div id="showresult">
<h1>jQuery读取XML文件</h1>
<a id="read" href="#" style="width:700px;">点击读取XML</a>
</div>
</body>
</html>
⑷ javascript 解析xml文件
$.ajax({
url:'outputXml', //请求的路径
type:'post', //数据发送方式
dataType:'xml', //接受数据格版式
async: false ,//同步方式
error:function(json){
alert('获取信息失权败');
},
success: function(xml){
$(xml).find("z").each(function(){
var nodeId=$(this).attr("c");
var nodeName=$(this).text();
alert(nodeId);
alert(nodeName);
});
}
});
⑸ 如何用JS解析服务器中xml文件的内容
先判断浏览器,然后读取xml数据就可以了
//判断不同的浏览器
function InitMf()
{
var mf_change=false;
try {
mf_change = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
mf_change = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
mf_change = false;
}
}
if (!mf_change && typeof XMLHttpRequest!='undefined') {
mf_change = new XMLHttpRequest();
}
return mf_change;
}
读取数据
var xmlHttp = InitMf();
var HTML = "";
//获得xml文件
xmlHttp.open("GET", xmlfile+"?"+Math.random(), true);
// 设置处理服务器的JS函数,函数又 xmlHttp.onreadystatechange来确定
xmlHttp.onreadystatechange=function() {
//alert(xmlHttp.status);
if (xmlHttp.readyState==4 && xmlHttp.status==200) {
//ajax的XML传输的解析。获取解析的数据
var xml = xmlHttp.responseXML;
var node = xml.getElementsByTagName("item");//获得总结点
for(var i = 0 ; i < node.length ; i++){
var str_t = "";
var str_d = "";
var menuHTML = "";
var elem = node[i];
//下面开始获得子节点数据,当然可以继续循环,获得更下面的节点
var title = elem.getElementsByTagName("title")[0].textContent != undefined ? elem.getElementsByTagName("title")[0].textContent : elem.getElementsByTagName("title")[0].text;
这些只是部分代码,不过已经足够了
⑹ js读取xml
楼主是要根据ID值的不同来读取XML文件。那么有2个问题要解决。 第一ID值从那来? 第二XML文件的格式是否统一? ------------------------------------------------------------------------- 如果ID的值是由其他页面传递,那么获取ID之后传递给方法。 ------------------------------------------------------------------------- <HTML> <head> <title>Test</title> </head> <body> <div id="view"> <!--这里的div是显示从XML文件读出的数据--> </div> <script language="javascript"> function LoadingXml(id){ var xmlDoc; if (window.ActiveXObject) { xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); } else if (document.implementation.createDocument) { xmlDoc=document.implementation.createDocument("","",null); } else { alert('Your browser cannot handle this script'); } xmlDoc.async=false; switch (id) { case 1: xmlDoc.load("1.xml"); break; case 2: xmlDoc.load("2.xml"); break case 3: xmlDoc.load("3.xml"); break } var x=xmlDoc.getElementsByTagName("user"); var divList=document.getElementById("view"); var Temp="<table border='1' cellspacing='0' cellpadding='0' align='center' width='400'>"; Temp+="<tr>"; Temp+="<td>名字</td>"; Temp+="</tr>"; for(var i=0;i<x.length;i++) { Temp+="<tr>"; Temp+="<td>"+x[i].getElementsByTagName("name")[0].childNodes[0].nodeValue+"</td>"; Temp+="</tr>"; } Temp+="</table>"; divList.innerHTML=Temp; } </script> </body> </HTML> 补充: 如果需要测试效果,请在</script> 标签 之前加上window.onload=LoadingXml(1);小括号中的1代表id的值。也表示将读取那一个 xml文件 。。。(以上代码均以楼主提供的xml文档格式 范例 所写。) 追问: 可能是我的问题问的过于简单我详细一点说吧。 是这样XML文件里保存的是网站用户的信息,XML文件的名称所对应的是用户的ID(网站有个用户他的身份ID是10000那么在根目录里就有一个10000.XML的文件),当身份ID为10000的用户成功登陆后网站的动态 服务器 脚本语言 就会生成一个Cookie保存用户的ID(用JS读取Cookie以解决)。当用户查看user. html文件 的时候就会看到自己的个人信息(这些一般都是用动态服务器脚本完成的但我想用静态完成这样可以节省服务器的负担)你说的ID也可以是从地址栏里来的(user.html?id=10000) 注:XML文件的名称不是固定的 还有我想问一下这里提示的是什么(alert('Your browser cannot handle this script'); )它是以什么条件下提示的。 回答: 名称不固定。但是你的客户ID总是固定的。。只是多加一个参数而已。。。 这提示是在 浏览器 不支持JS的创建XML读取对象的时候弹出的,对于目前大多IE,FF,OP,CH,TT,360的浏览器用户来说一般不是问题,除非浏览器坏掉了。。。 从地址来,那么你和不直接在读cookie的时候就想办法把XML文件名以及用户ID就传递给user.html这个页面呢?
⑺ 怎么通过javascript解析xml文件
你那补充里的代码只适合ie,我测试过没有问题,不知道你用的什么编辑器
⑻ 用JavaScript怎么解析xml文件
<?xml versoin="1.0"?>
<root>
<books id="list">
<item id='js'>
<name>javascript教程</name>
<price>50</price>
</item>
<item id='java'>
<name>java教程</name>
<price>70</price>
<item>
</books>
</root>
<script type="text/javascript">
<!--
var dom = new ActiveXObject('Microsoft.XMLDOM'); // 得到XML操作对象
// 加载 xml 有两种方法
// 方法一
//dom.load('XML文件的路径');
// 方法二
dom.loadXML('XML文件的内容'); // 此处就是上面XML的内容
// 比如我要得到上面XML文件中所有书的列表
var bookList = dom.selectNodeList('root/books/item'); // 这里采用 xPath,自己去了解吧
// 得到的 bookList 值为
// <item>
// <name>javascript教程</name>
// <price>50</price>
// </item>
// <item>
// <name>java教程</name>
// <price>70</price>
// <item>
// 比如我要选择 javascript 教程
var js = dom.selectSingleNode('root/books/item[id="js"]'); // xPath
// 得到的 js 值为
// <item>
// <name>javascript教程</name>
// <price>50</price>
// </item>
//-->
</script>
当然还有好多方法,好多东西,这里就不写太多了,自己去慢慢研究吧。
上面只是用了 xpath 办法,毕竟这个检索的效率高,速度快,当然还可以一级一级节点往下遍历。
一楼说的 ajax 也可以操作 xml,二楼说的 getElementsByTagName('tag') 这也是一个检索XML的方法,请自行研究。