读取xml格式的字符串和上下文中的xml数据
2015-03-15 19:49
274 查看
1、读取xml格式的字符串
假设有一段下面的xml格式的字符串:
<xml>
<return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[OK]]></return_msg>
</xml>
定义类ClientResponseHandler.cs
调用:
2、从上下文(Context)读取xml文件流
假设上下文中(Context)包含一段xml的字符串文件流,同上面格式。
调用:
假设有一段下面的xml格式的字符串:
<xml>
<return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[OK]]></return_msg>
</xml>
定义类ClientResponseHandler.cs
public class ClientResponseHandler { protected Hashtable xmlMap; /* 设置xml字符串 */ public virtual void setContent(string content) { this.content = content; XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(content); XmlNode root = xmlDoc.SelectSingleNode("xml"); XmlNodeList xnl = root.ChildNodes; foreach (XmlNode xnf in xnl) { xmlMap.Add(xnf.Name, xnf.InnerText); } } /* 设置xml字符串 */ public virtual void setContent(string content) { this.content = content; XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(content); XmlNode root = xmlDoc.SelectSingleNode("xml"); XmlNodeList xnl = root.ChildNodes; foreach (XmlNode xnf in xnl) { xmlMap.Add(xnf.Name, xnf.InnerText); } } }
调用:
rescontent = ""; //假设这里是一段xml格式的字符串 ClientResponseHandler resHandler = new ClientResponseHandler(); resHandler.setContent(rescontent); string return_code = resHandler.getMpParameter("return_code"); //return_code是xml节点名称,返回SUCCESS string return_msg = resHandler.getMpParameter("return_msg"); //return_code是xml节点名称,返回OK
2、从上下文(Context)读取xml文件流
假设上下文中(Context)包含一段xml的字符串文件流,同上面格式。
public class ResponseHandler { private Hashtable xmlMap; public ResponseHandler(HttpContext httpContext) { if (this.httpContext.Request.InputStream.Length > 0) { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(this.httpContext.Request.InputStream);//这里与上面不同 XmlNode root = xmlDoc.SelectSingleNode("xml"); XmlNodeList xnl = root.ChildNodes; foreach (XmlNode xnf in xnl) { xmlMap.Add(xnf.Name, xnf.InnerText); } } } /* 获取参数值 */ public string getMpParameter(string parameter) { string s = (string)xmlMap[parameter]; return (null == s) ? "" : s; } }
调用:
ResponseHandler resHandler = new ResponseHandler(Context);//Context 是HttpContext string return_code = resHandler.getMpParameter("return_code"); //return_code是xml的节点,返回SUCCESS string return_msg = resHandler.getMpParameter("return_msg"); //return_msg是xml的节点,返回OK
相关文章推荐
- 读取 XML 数据时,超出最大字符串内容长度配额 (8192)
- 读取 XML 数据时,超出最大字符串内容长度配额 (8192)。
- 读取 XML 数据时,超出最大字符串内容长度配额 (8192)
- InnerException 消息是“反序列化对象 属于类型 *** 时出现错误。读取 XML 数据时,超出最大字符串内容长度配额 (8192)。(注意细节)
- 读取XML数据时,已超过最大字符串内容长度配额(8192)。可以通过更改创建XML阅读器时使用的XmlDictionaryReaderQuotas对象上的MaxStringContentLength属
- 【C#】解决进行反序列化时出错:。InnerException 消息是“反序列化对象 属于类型 System.String 时出现错误。读取 XML 数据时,超出最大字符串内容长度配额 (8192)。
- 读取 XML 数据时,超出最大字符串内容长度配额 (8192)。通过更改在创建 XML 读取器时所使用的 XmlDictionaryReaderQuotas 对象的 MaxStringContentLength 属性,可增加此配额。
- InnerException 消息是“反序列化对象 属于类型 *** 时出现错误。读取 XML 数据时,超出最大字符串内容长度配额 (8192)。(注意细节)
- 读取 XML 数据时,超出最大字符串内容长度配额 (8192)。通过更改在创建 XML 读取器时所使用的 XmlDictionaryReaderQuotas 对象的 MaxStringContentLength 属性,可增加此配额。【轉】
- WCF:读取 XML 数据时,超出最大字符串内容长度配额 (8192)。通过更改在创建 XML 读取器时所使用的 XmlDictionaryReaderQuotas 对象的 MaxStringContentLength 属性,可增加此配额。
- asp数据转换为xml格式存入数据库 ,又从库中读取xml显示到页面
- Web Service 或 WCF调用时读取 XML 数据时,超出最大字符串内容长度配额(8192)解决方法
- 读取 XML 数据时,超出最大字符串内容长度配额 (8192)
- 读取 XML 数据时,超出最大字符串内容长度配额 (8192)
- wcf教程-传递数据过大怎么配置?读取 XML 数据时,超出最大字符串内容长度配额 (8192)
- 数据库和XML数据读取性能比较。
- xml与access数据读取对比测试
- 读写xml所有节点个人小结 和 读取xml节点的数据总结
- 数据库和XML数据读取性能比较
- [导入]xml与access数据读取对比测试