自己写的输出xml和json的几个方法,和WebService,jquery ajax配合用

using System.Xml;
using System.Data.SqlClient;
using System.Collections;

class pz_xmljson
{
    public XmlDocument xmlLoad(SqlDataReader sdr,string[] nodeName)
    {
        XmlDocument xmlDoc = new XmlDocument();
        XmlDeclaration xmlDec = xmlDoc.CreateXmlDeclaration("1.0","GB2312",null);
        xmlDoc.AppendChild(xmlDec);
        XmlNode xmlNode = xmlDoc.CreateElement("XmlOjects");
        xmlDoc.AppendChild(xmlNode);

        if (sdr.FieldCount == nodeName.Length)
        {
            while (sdr.Read())
            {
                XmlElement node = xmlDoc.CreateElement("XmlObject");
                xmlNode.AppendChild(node);

                for (int i = 0; i < nodeName.Length; i++)
                {
                    XmlElement element = xmlDoc.CreateElement(nodeName[i]);
                    element.InnerText = sdr[i].ToString();
                    node.AppendChild(element); 
                    }
            }
            sdr.Close();
        }
        return xmlDoc;
    }

    public XmlDocument xmlLoad(SqlDataReader sdr)
    {
        XmlDocument xmlDoc = new XmlDocument();
        XmlDeclaration xmlDec = xmlDoc.CreateXmlDeclaration("1.0",null);
        xmlDoc.AppendChild(xmlDec);
        XmlNode xmlNode = xmlDoc.CreateElement("XmlOjects");
        xmlDoc.AppendChild(xmlNode);

        while (sdr.Read())
        {
            XmlElement node = xmlDoc.CreateElement("XmlObject");
            xmlNode.AppendChild(node);

            for (int i = 0; i < sdr.FieldCount; i++)
            {
                XmlElement element = xmlDoc.CreateElement(sdr.GetName(i));
                element.InnerText = sdr[i].ToString();
                node.AppendChild(element); 
                    }
        }
        sdr.Close();
        return xmlDoc;
    }

    public XmlDocument xmlReturnValue(bool isSuccess)
    {
        XmlDocument xmlDoc = new XmlDocument();
        XmlDeclaration xmlDec = xmlDoc.CreateXmlDeclaration("1.0",null);
        xmlDoc.AppendChild(xmlDec);
        XmlNode xmlNode = xmlDoc.CreateElement("XmlOjects");
        xmlDoc.AppendChild(xmlNode);
        XmlElement node = xmlDoc.CreateElement("ReturnValue");
        if (isSuccess)
            node.InnerText = "true";
        else
            node.InnerText = "false";
        xmlNode.AppendChild(node);
        return xmlDoc;
    }

    public XmlDocument xmlReturnValue(bool isSuccess,string nodeName)
    {
        XmlDocument xmlDoc = new XmlDocument();
        XmlDeclaration xmlDec = xmlDoc.CreateXmlDeclaration("1.0",null);
        xmlDoc.AppendChild(xmlDec);
        XmlNode xmlNode = xmlDoc.CreateElement("XmlOjects");
        xmlDoc.AppendChild(xmlNode);
        XmlElement node = xmlDoc.CreateElement(nodeName);
        if (isSuccess)
            node.InnerText = "true";
        else
            node.InnerText = "false";
        xmlNode.AppendChild(node);
        return xmlDoc;
    }

    public string jsonLoad(SqlDataReader sdr,string[] nodeName)
    {
        string returnValue = string.Empty;
        if (sdr.FieldCount == nodeName.Length)
        {
            returnValue = "[";
            while (sdr.Read())
            {
                returnValue += "{";
                for (int i = 0; i < nodeName.Length; i++)
                {
                    returnValue += "\"" + nodeName[i] + "\":";
                    returnValue += "\"" + sdr[i].ToString() + "\",";
                }
                returnValue = returnValue.Substring(0,returnValue.Length - 1) + "},";
            }
            returnValue = returnValue.Substring(0,returnValue.Length - 1) + "]";
            sdr.Close();
        }
        return returnValue;
    }

    public string jsonLoad(SqlDataReader sdr)
    {
        string returnValue = string.Empty;
        returnValue = "[";
        while (sdr.Read())
        {
            returnValue += "{";
            for (int i = 0; i < sdr.FieldCount; i++)
            {
                returnValue += "\"" + sdr.GetName(i) + "\":";
                returnValue += "\"" + sdr[i].ToString() + "\",";
        }
        returnValue = returnValue.Substring(0,returnValue.Length - 1) + "]";
        sdr.Close();
        return returnValue;
    }

    public string jsonReturnValue(bool isSuccess)
    {
        string returnValue = string.Empty;
        returnValue = "[{\"ReturnValue\":";
        if (isSuccess)
            returnValue += "\"true\"";
        else
            returnValue += "\"false\"";
        returnValue += "}]";
        return returnValue;
    }

    public string jsonReturnValue(bool isSuccess,string nodeName)
    {
        string returnValue = string.Empty;
        returnValue = "[{\"" + nodeName + "\":";
        if (isSuccess)
            returnValue += "\"true\"";
        else
            returnValue += "\"false\"";
        returnValue += "}]";
        return returnValue;
    }

    public string toJson(string key,string value)
    {
        string returnValue = string.Empty;
        returnValue = "[{\"" + key + "\":";
        returnValue += "\"" + value + "\"";
        returnValue += "}]";
        return returnValue;
    }

    public XmlDocument toXml(string key,string value)
    {
        XmlDocument xmlDoc = new XmlDocument();
        XmlDeclaration xmlDec = xmlDoc.CreateXmlDeclaration("1.0",null);
        xmlDoc.AppendChild(xmlDec);
        XmlNode xmlNode = xmlDoc.CreateElement("XmlOjects");
        xmlDoc.AppendChild(xmlNode);
        XmlElement node = xmlDoc.CreateElement(key);
        node.InnerText = value;
        xmlNode.AppendChild(node);
        return xmlDoc;
    }
}


WebService直接这么输出

-----------------------------------------------------------------------

json: pz_xmljson xj = new pz_xmljson();

             Context.Response.Write(xj.toJson("value",tmp));  //xj.jsonLoad(SqlDataReader sdr)
            Context.Response.End();


jquery ajax这么拿值

-----------------------------------------------------------------------

$.ajax({
                url: "WebService.asmx/******",type: "POST",data: {
                    receiverid: 。。。。,key: 。。。。

                },dataType: "json",success: function(result) {

                           result[0].value  。。。。。

                         }

 

      多个值的话用

      $.each(result,function(i,n) {

           n.Name。。。。

          n.ID。。。。。

         n.***。。。。。

}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类
XML入门的常见问题(二)
Java对象的强、软、弱和虚引用
JS解析XML文件和XML字符串详解
java中枚举的详细使用介绍
了解Xml格式
XML入门的常见问题(四)
深入SQLite多线程的使用总结详解
PlayFramework完整实现一个APP(一)
XML和YAML的使用方法
XML轻松学习总节篇