This article mainly introduces the method of JS loading and reading XML files, and analyzes the related implementation steps and operating techniques of JavaScript for loading and reading xml files in the form of examples. Friends in need can refer to the following
The example in this article describes the method of loading and reading XML files using JS. Share it with everyone for your reference, the details are as follows:
Sometimes when developing, JS is used to load and read XML files. Write it down for reference. It is mainly completed in two steps:
1. JS loads XML files
The steps are generally (1), establish an XML DOM object; (2), set the loading method, asynchronous (recommended) or Synchronization; (3) Provide the XML file URL and then call the load method; roughly as follows:
var xmlFileName="xxFile.xml"; var xmlDoc=''; if (window.ActiveXObject){ // IE var activeXNameList=new Array("MSXML2.DOMDocument.6.0","MSXML2.DOMDocument.5.0","MSXML2.DOMDocument.4.0","MSXML2.DOMDocument.3.0","MSXML2.DOMDocument","Microsoft.XMLDOM","MSXML.DOMDocument"); for(var h=0;h<activeXNameList.length;h++) { try{ xmlDoc=new ActiveXObject(activeXNameList[h]); }catch(e){ continue; } if(xmlDoc) break; } }else if(document.implementation && document.implementation.createDocument){ //非 IE xmlDoc=document.implementation.createDocument("","",null); }else{ alert('can not create XML DOM object, update your browser please...'); } xmlDoc.async=false; //同步,防止后面程序处理时遇到文件还没加载完成出现的错误,故同步等XML文件加载完再做后面处理 xmlDoc.load(xmlFileName); //加载XML
2. JS reads the XML file node
After loading the XML file, it is the node to read the XML file. You can use the corresponding method of DOM, and the reading methods for MS IE and other browsers are similar, for example:
For example The XML file structure below:
<visiter> <area areaid="shenzhen"> <areaname>shenzhen</areaname> <user userid="001"> <name>shenzhenNBA</name> <sex>man</sex> </user> </area> <area areaid="shanghai"> <areaname>shenzhen</areaname> <user userid="002"> <name>xiaoming</name> <sex>woman</sex> </user> <user userid="003"> <name>zhangsan</name> <sex>man</sex> </user> </area> </visiter>
//JS读取 XML 文件中的 area 节点的方式如下: var nodeList= xmlDoc.documentElement.getElementsByTagName("area"); // IE for(var i=0;i<nodeList.length;i++){ //...遍历操作... } var nodeList=xmlDoc.getElementsByTagName("area"); // 非IE for(var i=0;i<nodeList.length;i++){ //...遍历操作... }
There are also some methods for reading nodes:
//MS IE node.text ; //读取node节点的文本值 node.childNodes[i].text ; //读取 node 下的第 i 个[直接下一级]子节点的文本 node.getAttribute("attributeName") ; //读取 node 节点的属性名称为 attributeName 的属性值 //还有其他的方法等, 可以网上搜索
//非 MS IE node.nodeValue ; //读取node节点的文本值 node.childNodes[i].nodeValue ; //读取 node 下的第 i 个[直接下一级]子节点的文本 node.getAttribute("attributeName") ; //读取 node 节点的属性名称为 attributeName 的属性值 //还有其他的方法等, 可以网上搜索
The above is the detailed content of Detailed explanation of examples of loading and reading XML files using JS. For more information, please follow other related articles on the PHP Chinese website!