1、读取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 > )
{
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格式的字符串和上下文中的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. 30分钟学会如何使用Shiro(转)

    本篇内容大多总结自张开涛的<跟我学Shiro>原文地址:http://jinnianshilongnian.iteye.com/blog/2018936 我并没有全部看完,只是选择了一部分 ...

  2. hdu 3416 Marriage Match IV (最短路+最大流)

    hdu 3416 Marriage Match IV Description Do not sincere non-interference. Like that show, now starvae ...

  3. 通过 Microsoft iSCSI Software Target 提供存储服务

    软件下载地址: Microsoft iSCSI Software Target 3.3 下载完后成解压软件包如下: 安装官方的描述Target 端也就是服务端 只支持Windows Server 20 ...

  4. [Nuxt] Build a Navigation Component in Vue.js and Use in a Nuxt Layout

    You can isolate parts of templates you want to re-use into components, but you can also reuse those ...

  5. Eclipse RCP 中创建自己定义首选项,并能读取首选项中的值

    Eclipse RCP的插件中若想自定义首选项须要扩展扩展点: org.eclipse.core.runtime.preferences //该扩展点用于初始化首选项中的值 org.eclipse.u ...

  6. Gora快速入门 分类: C_OHTERS 2015-01-30 09:55 465人阅读 评论(0) 收藏

    概述 Gora是apache的一个开源项目. The Apache Gora open source framework provides an in-memory data model and pe ...

  7. stm32的DMA重新工作

    下面是在战舰V3寄存器程序例子中找到的: //开启一次DMA传输void MYDMA_Enable(DMA_Channel_TypeDef*DMA_CHx){    DMA_CHx->CCR&a ...

  8. 解决gvim 8.1中zip插件打开zip文件内容时,而文件路径带有空格的问题。

    解决gvim 8.1中zip插件打开zip文件内容时,而文件路径带有空格的问题. 现象是只能打开一次,第二次打开就显示为空了. 通过 lcd切换工作目录.使得命令行操作中不再有带空格的路径 vim81 ...

  9. 【34.57%】【codeforces 557D】Vitaly and Cycle

    time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...

  10. Perl自动释放Licence启动Verdi

    Perl自动释放Licence启动Verdi 在工作中,遇到verdi的License不够的情况,某些人占用了多个License,为及时获得一个可用的License,写了一个perl来kill运行时间 ...