建议使用jQuery,跟操作html一样,伪代码如下: $.ajax({ url: '/xml/Student.xml', type: 'GET', dataType: 'xml', success: function(xml) { var name = $(xml).find('name').text(); $('h1').text(name); }});
2. js读取xml文件内容
确保你已经开启了服务器访问
3. 怎样解决js读取xml文件跨域问题
js读取xml文件跨域 问题,可以使用以下几种方法:
1通过jsonp跨域 :在js中,我们直接用XMLHttpRequest请求不同域上的数据时,是不可以的。但是,在页面上引入不同域上的js脚本文件却是可以的,jsonp正是利用这个特性来实现的。代码如下:
3使用window.name来进行跨域 :每个页面对window.name都有读写的权限,window.name是持久存在一个窗口载入过的所有页面
4. 用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的方法,请自行研究。
5. js读取xml文件-适用于firefox、chrome
您好!很高兴为您答疑!
读取XML文件的方法有很多,如下面这段代码,您可以参考下:
//读取XML文件
function loadXML(xmlFile) {
var xmlDoc;
if (window.ActiveXObject) {
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
xmlDoc.load(xmlFile);
}
else if (document.implementation && document.implementation.createDocument) {
xmlDoc = document.implementation.createDocument("", "", null);
xmlDoc.async = false;
xmlDoc.load(xmlFile);
} else {
alert('您的浏览器不支持该系统脚本!');
}
return xmlDoc;
}
//输出XML文件
function outXML(filename){
var xmlDoc = loadXML(filename);
var x = xmlDoc.getElementsByTagName("properties");
var text=x[0].outerHTML.replace(/</g,"<");
return text;
}
function dirXML(xmlDoc){
var entry=xmlDoc.getElementsByTagName("properties")[0].getElementsByTagName("entry");
for (var i=0,j=entry.length; i<j;i++){
console.log(entry[i].getAttribute("key"));
console.log(entry[i].childNodes[0].nodeValue);
}
}
您可以在火狐社区了解更多内容。希望我的回答对您有所帮助,如有疑问,欢迎继续在本平台咨询。
6. js读取XML文件
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}
else {// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET", "note.xml", false);
xmlhttp.send();
xmlDoc = xmlhttp.responseXML;
document.getElementById("to").innerHTML =
xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue;
document.getElementById("from").innerHTML =
xmlDoc.getElementsByTagName("from")[0].childNodes[0].nodeValue;
document.getElementById("message").innerHTML =
xmlDoc.getElementsByTagName("body")[0].childNodes[0].nodeValue;
7. js 如何读取xml文档内容
请把下面的代码保存为 readxml.html
<html>
<head>
<scripttype="text/javascript">
varxmlhttp;
functionloadXMLDoc(url)
{
xmlhttp=null;
if(window.XMLHttpRequest)
{//codeforIE7,Firefox,Opera,etc.
xmlhttp=newXMLHttpRequest();
}
elseif(window.ActiveXObject)
{//codeforIE6,IE5
xmlhttp=newActiveXObject("Microsoft.XMLHTTP");
}
if(xmlhttp!=null)
{
xmlhttp.onreadystatechange=state_Change;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}
else
{
alert(".");
}
}
functionstate_Change()
{
if(xmlhttp.readyState==4)
{//4="loaded"
if(xmlhttp.status==200)
{//200="OK"
document.getElementById('A1').innerHTML=xmlhttp.status;
document.getElementById('A2').innerHTML=xmlhttp.statusText;
document.getElementById('A3').innerHTML=xmlhttp.responseText;
}
else
{
alert("ProblemretrievingXMLdata:"+xmlhttp.statusText);
}
}
}
</script>
</head>
<body>
<h2>UsingtheHttpRequestObject</h2>
<p><b>Status:</b>
<spanid="A1"></span>
</p>
<p><b>Statustext:</b>
<spanid="A2"></span>
</p>
<p><b>Response:</b>
<br/><spanid="A3"></span>
</p>
<buttononclick="loadXMLDoc('note.xml')">GetXML</button>
</body>
</html>
请把下面的文件保存未 note.xml
<?xmlversion="1.0"encoding="ISO-8859-1"?>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don'tforgetthemeeting!</body>
</note>
8. 关于js读取xml数据并且显示在html中 如何实现
JS]利用js将读取到的xml文件中的数据显示到html文档上
script type="text/javascript" language="javascript">
var xmlDoc = checkXMLDocObj('../openClass.xml');//读取到xml文件中的数据
var a = document.getElementsByTagName("a");//获取所有的A标签
$(document).ready(function () {
var nodes;
if($.browser.msie){ // 注意各个浏览器之间的区别
nodes = xmlDoc.getElementsByTagName('collage')[0].childNodes; //读取XML文件中需要显示的数据
}
else if (isFirefox=navigator.userAgent.indexOf("Firefox")>0){
nodes = xmlDoc.getElementsByTagName('collage')[0].children; //读取XML文件中需要显示的数据
}
else{
nodes = xmlDoc.getElementsByTagName('resource');
}
for (var i = 0; i < a.length; i++) {
if (a[i].parentNode.nodeName == "SPAN") {
for (var j = 0; j < nodes.length; j++) {
var resource = nodes[j];
var url = resource.getAttribute('url');
var href=$(a[i]).attr("href");
if (href == url) {
var count = resource.getAttribute('click');
var span = document.createElement("div");
var str = document.createTextNode("点击率:" + count);
span.appendChild(str);
var div = a[i].parentNode.parentNode;
div.appendChild(span);
break;
}
}
}
}
});
$(function(){ //通过get请求,将点击率增加
$(a).mousedown(function(){
var href = $(this).attr("href");
$.get("../receive.ashx",{url:href,rd:Math.random()}, function (msg) {
});
})
})
</script>