您的位置:首页 > Web前端 > JQuery

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

2014-03-15 18:48 281 查看
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.***。。。。。

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: