❶ 為什麼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>