Kalet的技术文档 Kalet的技术文档,涉及.NET、Andriod、Arduino、Python的软件开发,所有资料均从网络复制,版权归原著者所有。

WebService 返回json格式和返回xml格式的数据

 

返回json格式

//using System.Web.Script.Services;
        [WebMethod]
        [ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)]
        public void HelloWorld()
        {
            Context.Response.Clear();
            Context.Response.ContentType = "application/json";
            Model.User.User_User user = new Model.User.User_User();
            user.UserName = "我们";
            user.UID = 1;
            user.UserPassWord = "123456";
            Jayrock.Json.JsonTextWriter writer = new Jayrock.Json.JsonTextWriter();
            Jayrock.Json.Conversion.JsonConvert.Export(user, writer);
            Context.Response.Write(writer.ToString());
        }


这里写图片描述

返回xml格式

[WebMethod]        public XmlDocument HelloWorld()
        {
            downList doo = new downList();            List<file> flist = new List<file>();
            file f = new file();
            f.name = "test";
            f.value = "t";
            flist.Add(f);            List<sql> slist = new List<sql>();            List<desc> dlist = new List<desc>();
            version ver = new version();

            doo.version = ver;
            doo.sqlList = slist;
            doo.fileList = flist;

            XmlDocument XmlDoc = new XmlDocument();
            string xmlstring = Utility.Tool.Serialize(doo);
            XmlDoc.LoadXml(xmlstring);            return XmlDoc;
        }

public class downList
    {        public List<file> fileList;        public List<sql> sqlList;        public version version;        public List<desc> descList; 

        public int result;
    }    public class sql
    {
        [XmlText]        public string value;
    }

    [Serializable]    public class file
    {
        [XmlAttribute]        public string name;

        [XmlText]        public string value;
    }    public class desc
    {
        [XmlText]        public string value;
    }

    [Serializable]    public class version
    {
        [XmlAttribute]        public string name;
    }

/// <summary>
        /// 将指定的对象序列化为XML格式的字符串并返回。
        /// </summary>
        /// <param name="o">待序列化的对象</param>
        /// <returns>返回序列化后的字符串</returns>
        public static string Serialize(Object o)
        {            string xml = "";            try
            {
                XmlSerializer serializer = new XmlSerializer(o.GetType());                using (MemoryStream mem = new MemoryStream())
                {                    using (XmlTextWriter writer = new XmlTextWriter(mem, Encoding.UTF8))
                    {
                        writer.Formatting = Formatting.Indented;
                        XmlSerializerNamespaces n = new XmlSerializerNamespaces();
                        n.Add("", "");
                        serializer.Serialize(writer, o, n);

                        mem.Seek(0, SeekOrigin.Begin);                        using (StreamReader reader = new StreamReader(mem))
                        {
                            xml = reader.ReadToEnd();
                        }
                    }
                }
            }            catch { xml = ""; }            return xml;
        }


这里写图片描述

转载自:https://blog.csdn.net/hougelou/article/details/70649559?locationNum=4&fps=1


留言列表