JS解析XML文件和XML字符串

转载 2012年03月28日 18:32:17

JS解析XML文件

 

<script type='text/javascript'>
    loadXML 
= function(xmlFile){
        
var xmlDoc=null;
        
//判断浏览器的类型
        //支持IE浏览器
        if(!window.DOMParser && window.ActiveXObject){
            
var xmlDomVersions = ['MSXML.2.DOMDocument.6.0','MSXML.2.DOMDocument.3.0','Microsoft.XMLDOM'];
            
for(var i=0;i<xmlDomVersions.length;i++){
                
try{
                    xmlDoc 
= new ActiveXObject(xmlDomVersions[i]);
                    
break;
                }
catch(e){
                }
            }
        }
        
//支持Mozilla浏览器
        else if(document.implementation && document.implementation.createDocument){
            
try{
                
/* document.implementation.createDocument('','',null); 方法的三个参数说明
                 * 第一个参数是包含文档所使用的命名空间URI的字符串; 
                 * 第二个参数是包含文档根元素名称的字符串; 
                 * 第三个参数是要创建的文档类型(也称为doctype)
                 
*/
                xmlDoc 
= document.implementation.createDocument('','',null);
            }
catch(e){
            }
        }
        
else{
            
return null;
        }

        
if(xmlDoc!=null){
            xmlDoc.async 
= false;
            xmlDoc.load(xmlFile);
        }
        
return xmlDoc;
    }
</script>

 

 

JS解析XML字符串

 

<script type='text/javascript'>
    loadXML 
= function(xmlString){
        
var xmlDoc=null;
        
//判断浏览器的类型
        //支持IE浏览器 
        if(!window.DOMParser && window.ActiveXObject){   //window.DOMParser 判断是否是非ie浏览器
            var xmlDomVersions = ['MSXML.2.DOMDocument.6.0','MSXML.2.DOMDocument.3.0','Microsoft.XMLDOM'];
            
for(var i=0;i<xmlDomVersions.length;i++){
                
try{
                    xmlDoc 
= new ActiveXObject(xmlDomVersions[i]);
                    xmlDoc.async 
= false;
                    xmlDoc.loadXML(xmlString); 
//loadXML方法载入xml字符串
                    break;
                }
catch(e){
                }
            }
        }
        
//支持Mozilla浏览器
        else if(window.DOMParser && document.implementation && document.implementation.createDocument){
            
try{
                
/* DOMParser 对象解析 XML 文本并返回一个 XML Document 对象。
                 * 要使用 DOMParser,使用不带参数的构造函数来实例化它,然后调用其 parseFromString() 方法
                 * parseFromString(text, contentType) 参数text:要解析的 XML 标记 参数contentType文本的内容类型
                 * 可能是 "text/xml" 、"application/xml" 或 "application/xhtml+xml" 中的一个。注意,不支持 "text/html"。
                 
*/
                domParser 
= new  DOMParser();
                xmlDoc 
= domParser.parseFromString(xmlString, 'text/xml');
            }
catch(e){
            }
        }
        
else{
            
return null;
        }

        
return xmlDoc;
    }
</script>

 

测试XML

 

<?xml version="1.0" encoding="utf-8" ?>
<DongFang>
  
<Company>
    
<cNname>1</cNname>
    
<cIP>1</cIP>
  
</Company>
  
<Company>
    
<cNname>2</cNname>
    
<cIP>2</cIP>
  
</Company>    
  
<Company>
    
<cNname>3</cNname>
    
<cIP>3</cIP>
  
</Company>
  
<Company>
    
<cNname>4</cNname>
    
<cIP>4</cIP>
  
</Company>
  
<Company>
    
<cNname>5</cNname>
    
<cIP>5</cIP>
  
</Company>
  
<Company>
    
<cNname>6</cNname>
    
<cIP>6</cIP>
  
</Company>
</DongFang>

 

 

使用方法

 var xmldoc=loadXML(text.xml)

 var elements = xmlDoc.getElementsByTagName("Company");

 for (var i = 0; i < elements.length; i++) {
                var name = elements[i].getElementsByTagName("cNname")[0].firstChild.nodeValue;
                var ip = elements[i].getElementsByTagName("cIP")[0].firstChild.nodeValue;               

}

JavaScript解析XML,js解析xml字符串

JavaScript解析XML,js解析xml字符串
  • github_36885144
  • github_36885144
  • 2016年12月06日 16:54
  • 6946

Java以DOM方式解析生成xml文件或字符串

写了代码java代码,测试了在jdk 1.8下使用dom方式操作xml的技术可行性。
  • lee353086
  • lee353086
  • 2016年07月18日 15:50
  • 1917

JS加载和读取XML文件

有时在开发时用到 JS 加载和读取XML文件的情况,写下提供参考,这里主要是分两步完成: 1,JS加载XML文件 步骤一般为(1),建立 XML DOM 对象;(2),设置加载方式,异步(推荐)或...
  • shenzhenNBA
  • shenzhenNBA
  • 2012年03月09日 20:40
  • 31062

dom解析xml之中文乱码问题

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocu...
  • fengzijia
  • fengzijia
  • 2015年08月31日 11:31
  • 2489

js解析XML

xml文件 book.xml The Confidence Man Melville. Herman 11.99 The Gorgias ...
  • sinat_25926481
  • sinat_25926481
  • 2015年10月27日 18:23
  • 6439

js解析XML数据

用JavaScript解析XML数据是常见的编程任务,JavaScript能做的,JQuery当然也能做。下面我们来总结几个使用JQuery解析XML的例子。 第一种方案: ...
  • ejinxian
  • ejinxian
  • 2014年11月05日 22:23
  • 3329

解析XML文件(字符串)的两种方法-----SAXReader 与 DocumentHelper

一、用SAXReader 方式解析:实例测试类TestXML   package * import java.io.ByteArrayInputStream;import java.util.Iter...
  • yumingxian2020
  • yumingxian2020
  • 2010年06月12日 17:46
  • 34599

javascript读取XML文件中的值

在xml文件里写好变量,该文件命名为xmlfile.xml video1.mp4 video2.mp4 video3.mp4 video4.mp4 video5.mp4 v...
  • u013719339
  • u013719339
  • 2017年06月13日 15:17
  • 1617

js解析xml字符串

loadXML = function(xmlString) { var xmlDoc=null; if(!window.DOMParser && window.ActiveXOb...
  • wow4464
  • wow4464
  • 2015年03月26日 11:14
  • 2351

Java中读取XML文件,生成XML格式的字符串并解析这个字符串

由于最近要用的是XML格式的字符串,而不用写到文件中,所以对原始代码进行了修改如下: 要读的xml文件 李华 14 ...
  • u011742227
  • u011742227
  • 2013年10月21日 00:08
  • 4815
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JS解析XML文件和XML字符串
举报原因:
原因补充:

(最多只允许输入30个字)