確保你已經開啟了伺服器訪問
⑵ 如何通過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的方法,請自行研究。