多语言展示
当前在线:372今日阅读:195今日分享:41

C# 如何生成 SOAP格式文件

用C#如何生成soap格式文件。soap的的解释是,简单对象访问协议是交换数据的一种协议规范,是一种轻量的、简单的、基于XML(标准通用标记语言下的一个子集)的协议,它被设计成在WEB上交换结构化的和固化的信息。那么,我们可以把soap文件理解为特殊的XML文件。
工具/原料

vs

方法/步骤
1

生成soap文件,实际就是生成XML文件,我们可以用XMLTextWriter来写,也可以用XML序列化来生成。用VS新建一个工程,然后在代码中定义一个xmlWriter var ms = new MemoryStream(1024);//分配空间 XmlTextWriter Xmltr = new XmlTextWriter(ms, Encoding.UTF8);

2

然后接下来就可以用XMLWriter向里面写入内容了 Xmltr.WriteStartElement('soap', 'Envelope', 'http://schemas.xmlsoap.org/soap/envelope/');            Xmltr.WriteAttributeString('xmlns', 'xsi', null, 'http://www.w3.org/2001/XMLSchema-instance');            Xmltr.WriteAttributeString('xmlns', 'xsd', null, 'http://www.w3.org/2001/XMLSchema');            Xmltr.WriteAttributeString('xmlns', 'soap', null, 'http://schemas.xmlsoap.org/soap/envelope/');            Xmltr.WriteStartElement('Header', 'http://schemas.xmlsoap.org/soap/envelope/');            Xmltr.WriteStartElement(null, 'AuthInfo', 'http://xxxxx.com/');            Xmltr.WriteElementString('UserName', 'my');            Xmltr.WriteElementString('PassWord', 'ps');            Xmltr.WriteEndElement();            Xmltr.WriteEndElement();            Xmltr.WriteStartElement('Body', 'http://schemas.xmlsoap.org/soap/envelope/');            Xmltr.WriteStartElement(null, 'GetLevel', 'http://xxxx.com/');            Xmltr.WriteElementString('level', '0');            Xmltr.WriteEndElement();            Xmltr.WriteEndElement();            Xmltr.WriteEndDocument();

3

最后写入文件,得到文件内容,注意是要把内容写入到文件中还是写入到内存中。

4

实际上就是xml的生成问题,如果参数内容比较多的话,建议用XML的序列化来完成。

注意事项

注意写入文件时要调用最后两句。

推荐信息