JS解析XML文件和XML字符串

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;

}

时间: 2024-12-24 22:34:23

JS解析XML文件和XML字符串的相关文章

js实现的解析xml文件和xml字符串代码实例

js实现的解析xml文件代码实例:下面分享一段代码实例,它实现了对xml文件的解析作用.代码如下: loadXML = function(xmlFile){ var xmlDoc=null; //判断浏览器的类型 //支持IE浏览器 if(!window.DOMParser && window.ActiveXObject){ var xmlDomVersions = ['MSXML.2.DOMDocument.6.0','MSXML.2.DOMDocument.3.0','Microsof

C#-XML文件提取字符串+字符串存为XML文件+创建XML(自定义节点)文件+读取节点内容

一.将字符串写入xml文件(并保存) 写入: XmlDocument xdoc = new XmlDocument(); xdoc.LoadXml("xmlstring"); 保存: xdoc.Save("pathsave.xml") 二.将xml文件赋值到字符串 读取xml文件: XmlDocument xdoc = new XmlDocument(); xdoc.Load("pathload.xml"); 返回字符串: xdoc.InnerX

Android项目中的config.xml文件 “config.xml”

Android应用程序需要保存一些配置时,可以将这些配置项放置到values/config.xml文件中. 实例分析: <?xml version="1.0" encoding="utf-8"?> <!-- /* ** Copyright 2009, The Android Open Source Project ** ** Licensed under the Apache License, Version 2.0 (the "Lice

xmlns:xsi ——是指xml文件遵守xml规范,xsi全名:xml schema instance

http://blog.sina.com.cn/s/blog_4b6f8d150100nx3e.html http://blog.csdn.net/iaiti/article/details/42263891 http://blog.csdn.net/qian_348840260/article/details/5396061 xmlns ——是XML NameSpace的缩写,因为XML文件的标签名称都是自定义的,自己写的和其他人定义的标签很有可能会重复命名,而功能却不一样,所以需要加上一个n

7.数据本地化CCString,CCArray,CCDictionary,tinyxml2,写入UserDefault.xml文件,操作xml,解析xml

 数据本地化 A CCUserDefault 系统会在默认路径cocos2d-x-2.2.3\projects\Hello\proj.win32\Debug.win32下生成一个名为UserDefault.xml.所有的key皆为char *型,value类型为bool intfloat double std::string. 读操作 bool getBoolForKey(const char* pKey); bool getBoolForKey(const char* pKey, bool

【jQuery】jQ处理xml文件和xml字符串

1.xml文件 <?xml version="1.0" encoding="utf-8" ?> <root> <book id="1"> <name>锋利的jQuery1</name> <author>XXX1</author> <price>250</price> </book> <book id="2&quo

C# 读取xml文件忽略xml文件的注释

默认情况下,读取xml文件是不忽略注释的,这样读取带注释的节点会造成异常,那么怎么屏蔽掉这些注释呢? 方案如下: XmlDocument doc = new XmlDocument(); XmlReaderSettings settings = new XmlReaderSettings(); settings.IgnoreComments = true; //xmlFilePath:xml文件路径 XmlReader reader = XmlReader.Create(xmlFilePath,

xml文件里一个字符串引用另一个字符串

<? xml version="1.0" encoding="UTF-8"?> < beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/s

XStream将xml文件拼成字符串

1.引入的包 <dependency> <groupId>com.thoughtworks.xstream</groupId> <artifactId>xstream</artifactId> <version>1.4.7</version> </dependency> 2.代码如下 import java.util.List; import com.thoughtworks.xstream.annotatio