自己写的输出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.***。。。。。 }
相关文章推荐
- JQuery调用webservice,返回的json数据和XML数据的处理方法
- 【Ajax】代理直接输出JSON或者XML的解决方法
- writeObject可以写n个,但是readObject()却只能读一次,你做一下测试。 如果你需要序列化好几个类的话,建议你用json;或者自己写两个方法,一个是将对象转换为字符串,一个是将字符串
- jquery Ajax 方法返回数据的获取,包括JSON,XML,TXT
- js 无参数、有参数的webservice通信方法 XMLHttpRequest和 $.ajax方式汇总及返回值为json问题
- jquery Ajax 方法返回数据的获取,包括JSON,XML,TXT
- Jquery 调用.net WebService 返回Json、XML方法
- jquery Ajax 方法返回数据的获取,包括JSON,XML,TXT
- 【Ajax】代理直接输出JSON或者XML的解决方法
- JQuery调用webservice,返回的json数据和XML数据的处理方法
- Jquery Ajax学习实例6-向WebService发出请求,返回DataSet(XML) 异步调用
- jstl配合tld文件调用类方法输出
- jquery调用WebService和WebService输出JSON
- 几个自己写的简单的字符处理方法(更新中)
- properties文件读写 自己写的几个方法
- jquery ajax遍历json的两种方法
- JavaScript递归遍历输出json所有字段与值的方法
- Ajax处理XML、HTML、JSON三种数据格式的方法
- jQuery ajax - getScript() 方法和getJSON方法
- jquery ajax方法提交json格式数据报错,一直返回error问题-已解决