zoukankan      html  css  js  c++  java
  • 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;
    }

    更多内容请点击

  • 相关阅读:
    【机器学习】机器学习12个关键经验教训
    【机器学习】24个终极项目提升您的机器学习知识和技能
    2018-12-21-WPF-弹出-popup-里面的-TextBox-无法输入汉字
    2019-10-31-C#-dotnet-获取整个局域网的-ip-地址
    2018-11-26-win10-uwp-获取窗口的坐标和宽度高度
    2019-5-21-dotnet-core-使用-CoreRT-将程序编译为-Native-程序
    2019-5-21-Roslyn-使用-Directory.Build.props-管理多个项目配置
    2019-2-26-SublimeText-快速打开当前文件的文件夹
    2019-2-18-VisualStudio-给项目添加特殊的-Nuget-的链接
    2019-8-31-dotnet-如何在-Mock-模拟-Func-判断调用次数
  • 原文地址:https://www.cnblogs.com/j--d/p/jquery-1.html
Copyright © 2011-2022 走看看