1、读取xml格式的字符串

假设有一段下面的xml格式的字符串:

<xml>
     <return_code><![CDATA[SUCCESS]]></return_code>
     <return_msg><![CDATA[OK]]></return_msg>
 </xml>

定义类ClientResponseHandler.cs

  1. public class ClientResponseHandler
  2. {
  3. protected Hashtable xmlMap;
  4. /* 设置xml字符串 */
  5. public virtual void setContent(string content)
  6. {
  7. this.content = content;
  8. XmlDocument xmlDoc = new XmlDocument();
  9. xmlDoc.LoadXml(content);
  10. XmlNode root = xmlDoc.SelectSingleNode("xml");
  11. XmlNodeList xnl = root.ChildNodes;
  12.  
  13. foreach (XmlNode xnf in xnl)
  14. {
  15. xmlMap.Add(xnf.Name, xnf.InnerText);
  16. }
  17. }
  18.  
  19. /* 设置xml字符串 */
  20. public virtual void setContent(string content)
  21. {
  22. this.content = content;
  23. XmlDocument xmlDoc = new XmlDocument();
  24. xmlDoc.LoadXml(content);
  25. XmlNode root = xmlDoc.SelectSingleNode("xml");
  26. XmlNodeList xnl = root.ChildNodes;
  27.  
  28. foreach (XmlNode xnf in xnl)
  29. {
  30. xmlMap.Add(xnf.Name, xnf.InnerText);
  31. }
  32. }
  33.  
  34. }

调用:

  1. rescontent = ""; //假设这里是一段xml格式的字符串
  2. ClientResponseHandler resHandler = new ClientResponseHandler();
  3. resHandler.setContent(rescontent);
  4. 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的字符串文件流,同上面格式。

  1. public class ResponseHandler
  2. {
  3. private Hashtable xmlMap;
  4.  
  5. public ResponseHandler(HttpContext httpContext)
  6. {
  7. if (this.httpContext.Request.InputStream.Length > )
  8. {
  9. XmlDocument xmlDoc = new XmlDocument();
  10. xmlDoc.Load(this.httpContext.Request.InputStream);//这里与上面不同
  11. XmlNode root = xmlDoc.SelectSingleNode("xml");
  12. XmlNodeList xnl = root.ChildNodes;
  13. foreach (XmlNode xnf in xnl)
  14. {
  15. xmlMap.Add(xnf.Name, xnf.InnerText);
  16. }
  17. }
  18. }
  19.  
  20. /* 获取参数值 */
  21. public string getMpParameter(string parameter)
  22. {
  23. string s = (string)xmlMap[parameter];
  24. return (null == s) ? "" : s;
  25. }
  26. }

调用:

  1. ResponseHandler resHandler = new ResponseHandler(Context);//Context 是HttpContext
  2. string return_code = resHandler.getMpParameter("return_code"); //return_code是xml的节点,返回SUCCESS
  3.  
  4. string return_msg = resHandler.getMpParameter("return_msg"); //return_msg是xml的节点,返回OK

读取xml格式的字符串和上下文中的xml数据的更多相关文章

  1. Java中XML格式的字符串4读取方式的简单比较

    Java中XML格式的字符串4读取方式的简单比较 1.java自带的DOM解析. import java.io.StringReader; import javax.xml.parsers.Docum ...

  2. Dom4j解析xml格式的字符串【java】

    一般我们会使用dom4j.SAX.w3c来解析xml文件,网上也大多提供此类解决方案. 但在实际项目中,也有会解析xml格式的字符串报文的. 比如,有如下字符串: String = "< ...

  3. 使用WCF传输DataTable:DataTable和Xml格式的字符串相互转换(C#)

    背景:项目中要用到客户端向服务端传数据,使用WCF,绑定webHttpBinding,做了一个小例子. 业务逻辑简介:客户端在a表中添加了几条数据,从SQL Server数据库直接取出新添加的数据(D ...

  4. soapui如何发送xml格式的字符串

    一个服务需要的xml格式的字符串参数,用soapUI传递参数时要这样写: <![CDATA[<?xml version="1.0" encoding="UTF ...

  5. java解析Xml格式的字符串

    最近在工作中,需要调别的接口,接口返回的是一个字符串,而且内容是xml格式的,结果在解析json的时候报错,最终修改了接口的返回方式,以Map返回, 才得以接收到这个xml的字符串,然后通过dom4j ...

  6. 使用dom4j修改XML格式的字符串

    XML格式 <data> <ryzd> <record> <western> <record> <diagnoses> < ...

  7. (转载)将一段符合XML格式规范字符串插入已有XML文档当中

    想我们已经存在一个XML文档,结构如下:   < xmlversion="1.0"encoding="utf-8">< employees&g ...

  8. C# asp.net XML格式的字符串显示不全

    前台显示XML字符串显示不全 后台XML字符串使用<xmp></xmp>将XML格式字符串括起来

  9. C# 解析XML格式的字符串

    public CreateOrderReturnResult GetCreateOrderReturnApi() { var result = new CreateOrderReturnResult( ...

随机推荐

  1. 内存、时间复杂度、CPU/GPU以及运行时间

    衡量 CPU 的计算能力: 比如一个 Intel 的 i5-2520M @2.5 Ghz 的处理器, 则其计算能力 2.5 * 4(4核) = 10 GFLOPS FLOP/s,Floating-po ...

  2. Linux下的lds链接脚本简介(四)

    十一. 表达式 lds中表达式的文法与C语言的表达式文法一致,表达式的值都是整型,如果ld的运行主机和生成文件的目标机都是32位,则表达式是32位数据,否则是64位数据. 以下是一些常用的表达式: _ ...

  3. (转)Windows Server 2008 R2 域控制器部署指南

    转自:https://technet.microsoft.com/zh-cn/cloud/gg462955.aspx 一.域控制器安装步骤: 1.装 Windows Server 2008 R2并配置 ...

  4. Cmake 实现debug和release lib依赖项处理

    一.说明 最近用cmake开发东西,编译vs时候,发现debug和release版本的lib库的依赖项问题,故此小结一下.若有不对之处,还请看官多多指教. 使用的工程有自己编写的工程,也有借用第三方库 ...

  5. 【Codeforces Round #435 (Div. 2) C】Mahmoud and Ehab and the xor

    [链接]h在这里写链接 [题意] 让你组成一个n个数的集合,使得这n个数的异或和为x; x<=1e5 每个数最大1e6; [题解] 1e5<=2^17<=2^18<=1e6的 ...

  6. 【MongoDB】在Mongodb使用shell实现与javascript的动态交互

    关于利用mongodb的shell运行脚本,这点在曾经的文章中有点遗漏:如今在此篇博客中做个补充: 一.在命令行中传入脚本文件 定义一个javasciprt文件,名称为:script1.js,内容例如 ...

  7. Spring boot(三) springboot 定时任务

    这个不多说,springboot 定时任务非常简单就可以实现了. 30s运行一次 , @Scheduled(cron="0,30 * * * * ?") 通过这个控制定时时间 cr ...

  8. JMS是一种应用于异步消息传递的标准API

    JMS是一种应用于异步消息传递的标准API,作为Java平台的一部分,JMS可以允许不同应用.不同模块之间实现可靠.异步数据通信.一些概念 JMS provider    An implementat ...

  9. C# datatable增加行(datarow)数据为另一个datatable中某行

    两个表A和B,两表结构相同.现在需要将A表中部分行拷贝到B表中,直接用 DataTableB.rows.add(dataTableA.rows[0]) 这样的方法式会报"row已经属于A表& ...

  10. 【33.20%】【LA 4320】【Ping pong】

    [Description] N (3 ≤ N ≤ 20000) ping pong players live along a west-east street(consider the street ...