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

本文介绍了如何利用pz_xmljson类将SQL查询结果转换为XML和JSON格式,包括数据加载、返回值处理及JSON输出方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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", "GB2312", 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", "GB2312", 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", "GB2312", 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) + "},";
        }
        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", "GB2312", 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.***。。。。。

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值