自己写的输出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.***。。。。。

}

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念