❶ 为什么javascript加载xml文件,在Chrome下不成功
javascript加载xml文件在chrome下不成功的原因是加载的方法不兼容,兼容的写法如下:
function loadXMLDoc (dname) {
var xmlDoc;
try {
var xmlhttp = new XMLHttpRequest();
xmlhttp.open('GET', dname, false);
xmlhttp.setRequestHeader('Content-Type', 'text/xml');
xmlhttp.send('');
xmlDoc = xmlhttp.responseXML;
} catch (e) {
try {
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
} catch (e) {
console.error(e.message);
}
}
注意:要使用XMLHttpRequest来创建header并设置类型,document.implementation.createDocument就会有浏览器兼容的问题。
❷ 大神!我有大屏模板,数据都是写死的,我想让js里的数据能实时读取本地CSV的数据,程序不会写求老师指点
这需要使用 JavaScript 进行读取 CSV 文件的操作。通过使用Ajax来读取CSV文件,并实时将其中的数据作为饼图的数据源,从而实现数据的实时更新。以下是根据您提供的图片3所做的示例
Ajax (Asynchronous JavaScript and XML) 是一种创建异步Web应用程序的技术扮猛。Ajax允许在不重新加载整个页面的情况下从服务器端加载数据,从而提高了用户体验和网页性能。
Ajax主要使用XMLHttpRequest对象来实现数据交互,并通过JavaScript和CSS来更新页面。Ajax请求在陆高后台与服务器进行通信,因此它不需要阻塞早缺尺用户界面,用户仍然可以继续与页面交互。
Ajax应用的一个简单的例子是:在页面中输入关键字,立即在页面下方更新搜索结果,而不是整个页面的重新加载。这就是Ajax的一种常见用例,它提高了网页的加载速度,并提高了用户的体验。
❸ javascript读取XML文件数据提示documentElement为空或不是对象
document.getElementById("NameID").innerHTML=XMLDocument.selectSingleNode("Item/name");
❹ 使用js实现html加载xml内容(本地电脑使用)
JS中有原生函数,支持解析xml字符串或者文件。
(newDOMParser()).parseFromString(xxxxx)
这个代码可以解析XML字符串,为对象。
<html>
<body>
<scripttype="text/javascript">
try//InternetExplorer
{
xmlDoc=newActiveXObject("Microsoft.XMLDOM");
}
catch(e)
{
try//Firefox,Mozilla,Opera,Chrome,etc.
{
xmlDoc=document.implementation.createDocument("","",null);
}
catch(e){alert(e.message)}
}
try
{
xmlDoc.async=false;
xmlDoc.load("books.xml");
document.write("xmlDocisloaded,readyforuse");
}
catch(e){alert(e.message)}
</script>
</body>
</html>
上面这段代码可以解析一个XML文件。
具体的可参考下面教程,或者小乐阅读(Chrome浏览器中的RSS阅读器)中的源代码
http://www.w3school.com.cn/xmldom/dom_parser.asp
❺ js怎么获取xml里某个节点的值并输出
这个 ,在网上找到了你要的答案 ,经测试是可以使用的.
XML 文件(假设为“names.xml”,注意文件编码)
<?xmlversion="1.0"encoding="gbk"?>
<names>
<name>张三</name><name>李四</name><name>王五</name>
</names>
JavaScript 代码(需要放在 HTML 页面中,并在浏览器中执行)
//<scripttype="text/javascript">
//----加载XML文档的函数----
functionloadXMLDoc(xmlFile){
varxmlDoc;
try{
//InternetExplorer可以使用其原生方法加载XML
xmlDoc=newActiveXObject("Microsoft.XMLDOM");
}catch(e){
try{
//Firefox也有标准方法,但可能造成其他浏览器报错,故省略
//使用XMLHttpRequest替代,适用于大部分浏览器
varxmlHttp=newXMLHttpRequest();
xmlHttp.open("GET",xmlFile,false);
xmlHttp.send(null);
returnxmlHttp.responseXML;
}catch(e){
returnnull;
}
}
xmlDoc.async=false;
xmlDoc.load(xmlFile);
returnxmlDoc;
}
//----解析names.xml的例子----
varxml=loadXMLDoc("names.xml");
//获取XML文档
vardomElems=xml.getElementsByTagName("name");
//获取文档中"name"元素节点集合(数组)
varstrNames=newArray(domElems.length);
//创建"strNames"数组用于存储"用户名"
for(vari=0;i<domElems.length;i++)
strNames[i]=domElems[i].childNodes[0].data;
//取得"name"元素节点的子节点(文本节点)的数据,并存入"strNames"数组
alert(strNames.join());
//测试,输出"strNames"数组(预期结果:"张三,李四,王五")
//</script>