zoukankan      html  css  js  c++  java
  • 解析xml返回json

    readxml.ashx中

    返回json方法:

        function returnXmlJson(string xmlUrl)
        {
            //解析本地xml
            //XmlDocument xmldoc = new XmlDocument();
            //xmldoc.Load(xmlUrl);
            //解析远程xml文件
            WebClient wc = new WebClient();
            StreamReader sr = new StreamReader(wc.OpenRead(xmlUrl));//返回string流            
            XmlDocument xmldoc = new XmlDocument();
            xmldoc.LoadXml(sr.ReadToEnd());
            XmlNode root = xmldoc.DocumentElement;//获取根节点news             
            XmlNodeList nodelist = root.ChildNodes;//items             
            string node1 = "";
            string node2 = "";
            string node3 = "";
            string node4 = "";
            xmlInfo xmlinfo = new xmlInfo();
            List<xmlInfo> xmlInfolist = new List<xmlInfo>();
            for (int i = 0; i < nodelist.Count; i++)
            {
                node1 = nodelist[i].ChildNodes[0].InnerText;//id                            
                node2 = nodelist[i].ChildNodes[1].InnerText;//title                    
                node3 = nodelist[i].ChildNodes[2].InnerText;//content                     
                node4 = nodelist[i].ChildNodes[3].InnerText;//pubdate              
                xmlinfo.id = node1;
                xmlinfo.title = node2;
                xmlinfo.content = node3;
                xmlinfo.pubdate = node4;
                xmlInfolist.Add(xmlinfo);
    }
    return JsonHelper.ObjectToJSON(xmlInfolist);//JsonHelper是一个json操作的类,此处调用它的对象转json的方法 }


    xmlInfo类:

     class xmlInfo
        {
            public string id { get; set; }
            public string title { get; set; }
            public string content { get; set; }
            public string pubdate { get; set; }
        }


    xml:

    <?xml version="1.0" encoding="GBK" ?>
    <news>
    <item>
    <title>this is title</title>
    <content>this is content</content>
    <date>2013-12-10 13:50:44</date>
    </item>
    <item>
    <id>1</id>
    <title>this is title</title>
    <content>this is content</content>
    <date>2013-12-10 13:50:44</date>
    </item>
    <item>
    <id>2</id>
    <title>this is title</title>
    <content>this is content</content>
    <date>2013-12-10 13:50:44</date>
    </item>
    <item>
    <id>3</id>
    <title>this is title</title>
    <content>this is content</content>
    <date>2013-12-10 13:50:44</date>
    </item>
    <item>
    <id>4</id>
    <title>this is title</title>
    <content>this is content</content>
    <date>2013-12-10 13:50:44</date>
    </item>
    </news>


    前端读取json:

       <script type="text/javascript">
            $.getJSON(
                "http://localhost:12345/readxml.ashx",
                function (data) {
                var ids = "";
                    for (var i = 0, n = data.length; i < n; i++) {
                        ids += data[i].id + "-----";
                    }
                    alert(ids);
                }
            );
        </script>
  • 相关阅读:
    关于C语言中%p和%X的思考
    multimap员工分组案例
    set容器查找操作使用
    绘制漂亮的思维导图
    [deque容器练习]打分案例
    【LeetCode】1162. 地图分析
    【LeetCode】820. 单词的压缩编码
    【LeetCode】914. 卡牌分组
    【LeetCode】999. 车的可用捕获量
    【LeetCode】3. 无重复字符的最长子串
  • 原文地址:https://www.cnblogs.com/liuyueyingzi/p/3471758.html
Copyright © 2011-2022 走看看