zoukankan      html  css  js  c++  java
  • C#将XML转换成JSON 使用 JavaScript 将 XML 转成 JSON

    如何在ASP.NET中用C#将XML转换成JSON

    [JavaScript]代码

    // Changes XML to JSON
    function xmlToJson(xml) {
         
        // Create the return object
        var obj = {};
     
        if (xml.nodeType == 1) { // element
            // do attributes
            if (xml.attributes.length > 0) {
            obj["@attributes"] = {};
                for (var j = 0; j < xml.attributes.length; j++) {
                    var attribute = xml.attributes.item(j);
                    obj["@attributes"][attribute.nodeName] = attribute.nodeValue;
                }
            }
        } else if (xml.nodeType == 3) { // text
            obj = xml.nodeValue;
        }
     
        // do children
        if (xml.hasChildNodes()) {
            for(var i = 0; i < xml.childNodes.length; i++) {
                var item = xml.childNodes.item(i);
                var nodeName = item.nodeName;
                if (typeof(obj[nodeName]) == "undefined") {
                    obj[nodeName] = xmlToJson(item);
                } else {
                    if (typeof(obj[nodeName].length) == "undefined") {
                        var old = obj[nodeName];
                        obj[nodeName] = [];
                        obj[nodeName].push(old);
                    }
                    obj[nodeName].push(xmlToJson(item));
                }
            }
        }
        return obj;
    };
    View Code

    [XML]代码  

    <ALEXA VER="0.9" URL="davidwalsh.name/" HOME="0" AID="=">
        <SD TITLE="A" FLAGS="" HOST="davidwalsh.name">
            <TITLE TEXT="David Walsh Blog :: PHP, MySQL, CSS, Javascript, MooTools, and Everything Else"/>
            <LINKSIN NUM="1102"/>
            <SPEED TEXT="1421" PCT="51"/>
        </SD>
        <SD>
            <POPULARITY URL="davidwalsh.name/" TEXT="7131"/>
            <REACH RANK="5952"/>
            <RANK DELTA="-1648"/>
        </SD>
    </ALEXA>
    View Code

    JSON结果

    {
      "@attributes": {
        AID: "=",
        HOME:  0,
        URL: "davidwalsh.name/",
        VER: "0.9",
      },
      SD = [
        {
          "@attributes": {
            FLAGS: "",
            HOST: "davidwalsh.name",
            TITLE: A
          },
          LINKSIN: {
            "@attributes": {
              NUM: 1102
            }
          },
          SPEED: {
            "@attributes": {
              PCT: 51,
              TEXT: 1421
            }
          },
          TITLE: {
            "@attributes": {
              TEXT: "David Walsh Blog :: PHP, MySQL, CSS, Javascript, MooTools, and Everything Else",
            }
          },
        },
        {
          POPULARITY: {
            "@attributes": {
              TEXT: 7131,
              URL: "davidwalsh.name/"
            }
          },
          RANK: {
            "@attributes": {
              DELTA: "-1648"
            }
          },
          REACH: {
            "@attributes": {
              RANK = 5952
            }
          }
        }
      ]
    }
    View Code

    js压缩xml字符串,将xml字符串转换为xml对象,将xml对象转换为json对象

    javascript 将xml字符串转换成json对象

  • 相关阅读:
    springboot访问redis序列化问题
    观察者模式在源码中的使用
    抽象工厂模式在源码中的使用
    工厂方法模式在源码中的应用
    策略模式的应用
    springcloud实现限流
    Elasticsearch
    java8新特性(二)StreamApi
    thinkpaidE450 win10 进入bios
    restframe_work2
  • 原文地址:https://www.cnblogs.com/weixing/p/6567312.html
Copyright © 2011-2022 走看看