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.***。。。。。
}