`
hanbaobao
  • 浏览: 21415 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

JS解析XML文件和XML字符串

 
阅读更多

JS 解析 XML 文件

< scrip t type = ' text/javascript ' >
    loadXML 
=   function (xmlFile){
        
var  xmlDoc = null ;
        
// 判断浏览器 的类型
         // 支持IE浏览器
         if ( ! win dow.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 id = elements[i].getElementsByTagName("cNname ")[0].firstChild.nodeValue;
                var name = elements[i].getElementsByTagName("cIP ")[0].firstChild.nodeValue;               

}
上一篇:  Custom Sharepoint 2010 Menu
下一篇:  2011第一季度国内移动互联网收入190亿

 

分享到:
评论

相关推荐

    使用javascript解析xml文件或xml格式字符串中文WORD版

    资源名称:使用Javascript解析xml文件或xml格式字符串 中文WORD版   内容简介: 本文档主要讲述的是使用Javascript解析xml文件或xml格式字符串;javascript中,不论是解析xml文件,...

    Js+XML 操作应用:JS解析XML文件和XML字符串 支付接口常用

    Js+XML 操作应用:JS解析XML文件和XML字符串 支付接口常用,亲测可用!

    C++解析xml文档或者xml字符串方法

    在C++中,解析XML文档或XML字符串是常见的任务,特别是在需要与JavaScript或其他不支持指针的语言交互时。本文将详细介绍如何在Visual Studio 2010环境下利用Microsoft的MSXML库来处理XML数据。 首先,让我们看看...

    js的XML解析器 可以解析XMl文件和XML字符串

    JavaScript中的XML解析器是用于处理XML数据的关键工具,它允许开发者在浏览器环境中解析XML文档或者XML字符串,从而在Web应用中有效地使用这些数据。XML(eXtensible Markup Language)是一种结构化数据语言,常用于...

    js解析XML文件

    JS 解析 XML 文件 作为一名 IT 行业大师,我将从给定的...使用 JavaScript 解析 XML 文件需要了解 XML 文档的结构和各个节点的类型,选择合适的解析方法,考虑浏览器兼容性问题,并掌握相关的 JavaScript 语法和方法。

    JS解析XML文件和XML字符串详解

    本文将详细介绍如何使用JS解析XML文件和XML字符串。 首先,让我们来看如何解析XML文件。在JavaScript中,这通常涉及使用XMLHttpRequest对象或fetch API来获取XML文件内容,然后将其转换为DOM对象以便进行操作。以下...

    格式化xml字符串,并生成xml文件

    这些文件通常包含了处理XML数据的相关工具方法,可能包括读取XML文件、解析XML字符串、格式化XML以及生成新的XML文件等操作。 `XMLFileUtil.java`可能包含了一些与XML文件I/O相关的功能,比如读取XML文件到字符串,...

    JS读取XML字符串形成树

    在JavaScript(JS)中,处理XML数据通常涉及到解析XML字符串并将其转换为可操作的数据结构,如树形结构。这在处理大型XML文档时尤为重要,因为数据量大时,高效地读取和组织数据可以提高应用性能。本篇文章将深入...

    JS解析xml文件为字符串

    总结来说,JavaScript通过`XMLHttpRequest`或`fetch`获取XML文件,使用`DOMParser`解析为DOM,然后通过DOM API进行操作,最后可能需要使用`XMLSerializer`序列化回XML字符串。在处理过程中,注意错误处理和选择适合...

    js解析xml文件的完整代码

    `DOMParser`是现代浏览器支持的标准方法,用于在内存中解析XML字符串,将其转化为DOM(Document Object Model)树。`ActiveXObject`则是针对旧版IE浏览器的特有方式,它允许创建并操作XML文档。 1. 使用DOMParser...

    将string类型xml字符串转为json字符串

    本篇文章将详细讲解如何将string类型的XML字符串转换为JSON字符串,并介绍相关的技术知识。 首先,理解XML和JSON的基本结构是至关重要的。XML是一种树形结构的标记语言,通过标签来定义元素和属性,例如: ```xml ...

    JavaScript解析XML文件,在网页上以目录树的形式显示

    要完成“JavaScript解析XML文件并在网页上以目录树形式显示”的任务,你需要理解XML的基本概念,熟悉JavaScript的DOM操作,掌握XML数据的解析方法,以及如何将XML数据转换为HTML结构,并通过CSS和JavaScript事件增加...

    javascript加载xml文件和xml字符串的类

    在JavaScript中,处理XML数据是常见的任务,无论是从本地或远程服务器加载XML文件,或是解析XML字符串。XML(可扩展标记语言)作为一种结构化数据格式,广泛用于存储和传输数据。本篇文章将深入探讨如何使用...

    js-xml.rar_javascript_javascript xml_js xml_js解析xml_xml js

    `document.implementation.createDocument()`方法可以创建一个新的DOM解析器,然后使用`loadXML()`方法加载XML字符串。 2. `XMLHttpRequest`对象: AJAX(Asynchronous JavaScript and XML)技术通常使用`...

    javascript解析xml文件

    我们可以创建一个DOMParser实例,然后使用`parseFromString()`方法解析XML字符串。 ```javascript let parser = new DOMParser(); let xmlString = "&lt;root&gt;&lt;item id='1'&gt;Item 1&lt;/item&gt;&lt;/root&gt;"; let xmlDoc = ...

    一个非常好的js解析xml生成一个tree

    例如,使用`DOMParser`对象可以将XML字符串解析为DOM树,然后通过遍历DOM节点来处理数据。 2. **Tree数据结构**:在计算机科学中,树是一种非线性数据结构,非常适合表示具有层级关系的数据。在这个场景下,每个XML...

    JavaScript解析XML文档成树菜单

    总结,JavaScript解析XML文档成树菜单涉及到DOM解析、XMLHttpRequest或fetch请求、DOM遍历、HTML结构生成、事件处理等多个技术点。具体实现可能因XML结构和需求而异,但基本流程是相似的。阅读原博客(288976)可以...

    解析xml和本地解析xml

    - 解析XML:使用适当的XML解析器将XML字符串转换为可操作的结构,如DOM树或事件流。 - 数据提取:遍历解析后的XML结构,提取需要的字段值。 - 数据映射:将提取的字段值与数据库表的结构对应起来。 - 插入数据库...

    javascript解析xml字符串的函数

    总的来说,JavaScript解析XML字符串的关键在于处理不同浏览器的兼容性问题,使用`try...catch`结合`ActiveXObject`和`DOMParser`可以有效地实现这一目标。同时,理解XML文档的结构和DOM(文档对象模型)的概念对于...

Global site tag (gtag.js) - Google Analytics