读取xml格式的字符串和上下文中的xml数据
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数据的更多相关文章
- Java中XML格式的字符串4读取方式的简单比较
Java中XML格式的字符串4读取方式的简单比较 1.java自带的DOM解析. import java.io.StringReader; import javax.xml.parsers.Docum ...
- Dom4j解析xml格式的字符串【java】
一般我们会使用dom4j.SAX.w3c来解析xml文件,网上也大多提供此类解决方案. 但在实际项目中,也有会解析xml格式的字符串报文的. 比如,有如下字符串: String = "< ...
- 使用WCF传输DataTable:DataTable和Xml格式的字符串相互转换(C#)
背景:项目中要用到客户端向服务端传数据,使用WCF,绑定webHttpBinding,做了一个小例子. 业务逻辑简介:客户端在a表中添加了几条数据,从SQL Server数据库直接取出新添加的数据(D ...
- soapui如何发送xml格式的字符串
一个服务需要的xml格式的字符串参数,用soapUI传递参数时要这样写: <![CDATA[<?xml version="1.0" encoding="UTF ...
- java解析Xml格式的字符串
最近在工作中,需要调别的接口,接口返回的是一个字符串,而且内容是xml格式的,结果在解析json的时候报错,最终修改了接口的返回方式,以Map返回, 才得以接收到这个xml的字符串,然后通过dom4j ...
- 使用dom4j修改XML格式的字符串
XML格式 <data> <ryzd> <record> <western> <record> <diagnoses> < ...
- (转载)将一段符合XML格式规范字符串插入已有XML文档当中
想我们已经存在一个XML文档,结构如下: < xmlversion="1.0"encoding="utf-8">< employees&g ...
- C# asp.net XML格式的字符串显示不全
前台显示XML字符串显示不全 后台XML字符串使用<xmp></xmp>将XML格式字符串括起来
- C# 解析XML格式的字符串
public CreateOrderReturnResult GetCreateOrderReturnApi() { var result = new CreateOrderReturnResult( ...
随机推荐
- 内存、时间复杂度、CPU/GPU以及运行时间
衡量 CPU 的计算能力: 比如一个 Intel 的 i5-2520M @2.5 Ghz 的处理器, 则其计算能力 2.5 * 4(4核) = 10 GFLOPS FLOP/s,Floating-po ...
- Linux下的lds链接脚本简介(四)
十一. 表达式 lds中表达式的文法与C语言的表达式文法一致,表达式的值都是整型,如果ld的运行主机和生成文件的目标机都是32位,则表达式是32位数据,否则是64位数据. 以下是一些常用的表达式: _ ...
- (转)Windows Server 2008 R2 域控制器部署指南
转自:https://technet.microsoft.com/zh-cn/cloud/gg462955.aspx 一.域控制器安装步骤: 1.装 Windows Server 2008 R2并配置 ...
- Cmake 实现debug和release lib依赖项处理
一.说明 最近用cmake开发东西,编译vs时候,发现debug和release版本的lib库的依赖项问题,故此小结一下.若有不对之处,还请看官多多指教. 使用的工程有自己编写的工程,也有借用第三方库 ...
- 【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的 ...
- 【MongoDB】在Mongodb使用shell实现与javascript的动态交互
关于利用mongodb的shell运行脚本,这点在曾经的文章中有点遗漏:如今在此篇博客中做个补充: 一.在命令行中传入脚本文件 定义一个javasciprt文件,名称为:script1.js,内容例如 ...
- Spring boot(三) springboot 定时任务
这个不多说,springboot 定时任务非常简单就可以实现了. 30s运行一次 , @Scheduled(cron="0,30 * * * * ?") 通过这个控制定时时间 cr ...
- JMS是一种应用于异步消息传递的标准API
JMS是一种应用于异步消息传递的标准API,作为Java平台的一部分,JMS可以允许不同应用.不同模块之间实现可靠.异步数据通信.一些概念 JMS provider An implementat ...
- C# datatable增加行(datarow)数据为另一个datatable中某行
两个表A和B,两表结构相同.现在需要将A表中部分行拷贝到B表中,直接用 DataTableB.rows.add(dataTableA.rows[0]) 这样的方法式会报"row已经属于A表& ...
- 【33.20%】【LA 4320】【Ping pong】
[Description] N (3 ≤ N ≤ 20000) ping pong players live along a west-east street(consider the street ...