C# Linq方式生成SAP对接的XML格式内容(一般处理程序 ashx )
Linq生成XML的方法:
string CreateXML(string strkey, string strDATAJSON)
{ XDeclaration dec = new XDeclaration("1.0", "UTF-8", null);
XDocument xdoc = new XDocument();
XNamespace saop = "http://schemas.xmlsoap.org/soap/envelope/";
XNamespace ns0 = "http://www.db.com";
XElement root = new XElement(saop + "Envelope",
new XAttribute(XNamespace.Xmlns + "soap", "http://schemas.xmlsoap.org/soap/envelope/"),
new XElement(saop + "Body",
new XElement(ns0 + "MT_COMMON_RET",
new XAttribute(XNamespace.Xmlns + "ns0", "http://www.db.com"),
new XElement("KEY", strkey),
new XElement("DATAJSON_RET", strDATAJSON))) );
xdoc.Add(root);
string strdoc = dec.ToString();//@"<?xml version=""1.0"" encoding=""utf-8""?>";
return strdoc + xdoc.ToString(); }
生成结果格式:
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns0:MT_COMMON_RET xmlns:ns0="http://www.db.com">
<KEY>DB_XZQYSJTB</KEY>
<DATAJSON_RET>{"MANTD":"","MANTR":""}</DATAJSON_RET>
</ns0:MT_COMMON_RET>
</soap:Body>
</soap:Envelope>
访问方法:
public void ProcessRequest(HttpContext context)
{ int rowcount = (int)context.Request.InputStream.Length;
byte[] buff = new byte[rowcount];
context.Request.InputStream.Read(buff, , rowcount);
string text = System.Text.Encoding.UTF8.GetString(buff);
Log4.WriteLog("Handler非标接收数据:" + text ?? "");
/***********************************************************/
Dictionary<string, object> dic = new Dictionary<string, object>();
dic.Add("AAA", "");
dic.Add("BBB", "");
string strDATAJSON = Common.Tools.ConvertToJsonStr(dic);
string strxml = CreateXML("KEY值", strDATAJSON);
context.Response.ContentEncoding = System.Text.Encoding.UTF8;
context.Response.AddHeader("Content-Length", strxml.Length.ToString());
context.Response.ContentType = "text/xml";
context.Response.Write(strxml);
context.Response.Flush();
context.Response.End(); }
C# Linq方式生成SAP对接的XML格式内容(一般处理程序 ashx )的更多相关文章
- ASP.NET通过http/https的POST方式,发送和接受XML文件内容
本文转载:http://hi.baidu.com/ysyhyt/item/5011ae39ce3cf49fb80c0395 本文参考:http://blog.csdn.net/ououou123456 ...
- WebLoad 解析服务器返回的XML格式内容
Parsing the XML Response get the root node: var rootNode = document.wlXmls[0].XMLDocument.documentE ...
- Java读取数据库中的xml格式内容,解析后修改属性节点内容并写回数据库
直接附代码: 1.测试用的xml内容 <mxGraphModel> <root> <mxCell id="-1" /> <mxCell i ...
- XML(php中获取xml文件的方式/ajax获取xml格式的响应数据的方式)
1.XML 格式规范: ① 必须有一个根元素 ② 不可有空格.不可以数字或.开头.大小写敏感 ③ 不可交叉嵌套 ④ 属性双引号(浏览器自动修正成双引号了) ⑤ 特殊符号要使用实体 ⑥ 注释和HTML一 ...
- Java——DOM方式生成XML (转)
http://blog.csdn.net/u012325167/article/details/50943202 使用DOM方式生成XML文件有如下几步: 首先是创建DOM树(即规定XML文件中的内容 ...
- Java&Xml教程(四)使用DOM方式生成XML文件
在前面的教程中,我们学习了使用DOM解析方式读取和修改XML文件内容,今天我们来学习如何使用DOM解析机制生成XML文件. 下面是我们对要生成的XML文件的具体要求: 1.根节点元素为"Em ...
- EF使用CodeFirst方式生成数据库&技巧经验
前言 EF已经发布很久了,也有越来越多的人在使用EF.如果你已经能够非常熟练的使用EF的功能,那么就不需要看了.本文意在将自己使用EF的方式记录下来备忘,也是为了给刚刚入门的同学一些指导.看完此文,你 ...
- 生成当前目录文件的xml描述
需求场景:例如需要在当前目录下把相关文件组织成xml文件去描述.通常在组织项目中的升级文件时候可能会用到. 代码示例: using System; using System.Collections.G ...
- Lambda方式左连接有Linq方式左连接
网上查到的直接使用Join+DefaultIfEmpty的方式是错误的,实际生成SQL是两表先内联接,然后再LEFT JOIN.经过查证,参考资料,最终得到如下两种方式的左连接写法: public v ...
随机推荐
- python Select\Poll\Epoll异步IO与事件驱动
参考:http://www.cnblogs.com/alex3714/articles/5248247.html 写服务器处理模型的程序时通常采用的模型: (1)每收到一个请求,创建一个新的进程,来处 ...
- Matplotlib简单回顾
import numpy as np from pylab import * from matplotlib import pyplot as plt x = [1, 2, 3, 4] y = [3, ...
- SQL中 decode()函数简介
SQL中 decode()函数简介 今天看别人的SQL时看这里面还有decode()函数,以前从来没接触到,上网查了一下,还挺好用的一个函数,写下来希望对朋友们有帮助哈! decode()函数简介: ...
- hexo+github搭建自己的博客
之前很早就想用hexo弄一个自己独立的博客了,在博客园也写了很多的博客,不过不喜欢博客园的风格.不过今天,终于折腾成功了,用hexo搭建了一个在github写的博客,开心,后面会将自己以前的博客慢慢迁 ...
- 线程中断 interrupt 和 LockSupport
本文章将要介绍的内容有以下几点,读者朋友也可先自行思考一下相关问题: 线程中断 interrupt 方法怎么理解,意思就是线程中断了吗?那当前线程还能继续执行吗? 判断线程是否中断的方法有几个,它们之 ...
- Ajax&Json案例
案例: * 校验用户名是否存在 1. 服务器响应的数据,在客户端使用时,要想当做json数据格式使用.有两种解决方案: 1. $.get(type):将最后一个参数type指定为"json& ...
- celery异步任务框架
目录 Celery 一.官方 二.Celery异步任务框架 Celery架构图 消息中间件 任务执行单元 任务结果存储 三.使用场景 四.Celery的安装配置 五.两种celery任务结构:提倡用包 ...
- vue之initComputed模块源码说明
要想理解原理就得看源码,最近网上也找了好多vue初始化方法(8个init恶魔...) 因为也是循序渐进的理解,对initComputed计算属性的初始化有几处看得不是很明白,网上也都是含糊其辞的(要想 ...
- a标签嵌套href默认行为与子元素click事件存在影响
2018-08-07 Question about work 开发过程中遇到问题,简单写个demo 运行环境为Chrome 68 描述一下这个问题,当<a>标签内部存在嵌套时, 父元素&l ...
- C++泛化双向链表
泛型双向链表 双向链表(doublyLinkedList.h) /******************************************************************* ...