最近在看一些接口,所以目标就是写接口啦,但是我想说的是公司的业务还不曾了解,所以自己先来做一个小小的demo练习吧,主要知道需要和xml有关系的,但是之前从来没有接触过解析xml文件的,在玩撒谎能够搜索啦许多有关解析xml的方法,但是没有适合自己的,所以就提前写一个demo吧,嘿嘿,更加熟悉一些。如果使用C#语言去解析xml文件,可能对于我来说也是一种进步,这里就在友友给提供的小demo的前提下我也来总结一下吧,嘿嘿。

这里就是简单的做的一个控制台程序,然后把解析以及转换成dataset这样的数据都是在webservice中实现,然后再转换成流的形式接收回来...

        static void Main(string[] args)
{
string xmldata = "<item>"
+"<name>dulala</name>"
+"<pwd>20</pwd>"
+ "<address>北京朝阳</address>"
+"</item>";
ServiceReference1.WebService1SoapClient client = new ServiceReference1.WebService1SoapClient();
byte[] buttfer = client.GetWebService(xmldata);
DataSet resultds = null;
using (MemoryStream ms = new MemoryStream(buttfer))
{
IFormatter im = new BinaryFormatter();
object obj = im.Deserialize(ms);
resultds = (DataSet)obj;
}
}

这里就是写在webservice中的方法:

    public class GetWebService : System.Web.Services.WebService
{
public DataTable dt = new DataTable();
[WebMethod]
public byte[] GetProductXml(string xmldata)
{
#region 获取xml数据,制作键 DataSet ds1 = new DataSet();
DataColumn dca = new DataColumn("Username", System.Type.GetType("System.String"));
dt.Columns.Add(dca);
DataColumn dcb = new DataColumn("pwd", System.Type.GetType("System.String"));
dt.Columns.Add(dcb);
DataColumn dcc = new DataColumn("address", System.Type.GetType("System.String"));
dt.Columns.Add(dcc);
#endregion XmlDocument doc = new XmlDocument();
doc.LoadXml(xmldata);//解析xml数据
XmlNode xmlNode = doc.DocumentElement;//文件的节点 #region 把xml数据添加到sataset
XmlNode xxx = xmlNode.SelectSingleNode("item");
string statusCode = string.Empty;
DataRow dr = dt.NewRow();
foreach (XmlNode xn in xxx.ChildNodes)
{
XmlElement zsl_el = (XmlElement)xn;
if (xn.LocalName == "Username")
{
dr["Username"] = zsl_el.InnerText;
}
if (xn.LocalName == "pwd")
{
dr["pwd"] = zsl_el.InnerText;
}
if (xn.LocalName == "address")
{
statusCode = zsl_el.InnerText;
dr["address"] = zsl_el.InnerText;
}
}
dt.Rows.Add(dr);
#endregion ds1.Tables.Add(dt);
byte[] dataBuffer = null;
if (ds1 != null && ds1.Tables[].Rows.Count > )
{
ds1.RemotingFormat = SerializationFormat.Binary;
IFormatter bf = new BinaryFormatter(); using (MemoryStream ms = new MemoryStream())
{
bf.Serialize(ms, ds1);
dataBuffer = ms.ToArray();
}
}
return dataBuffer;
}
}

好啦,代码就展示到这里啦,暂时去实现一下其他的东东哦,嘿嘿

来数一数XML解析成为Dataset数据的更多相关文章

  1. Xml解析之PULL解析 例2

    <?xml version="1.0" encoding="UTF-8"?> <books> <book id="100 ...

  2. XML解析的四种方式

    1.说明 XML是EXtensible Markup Language, 即可扩展标记语言, 是一种通用的数据交换格式, 它的平台无关性.语言无关性.系统无关性, 给数据集成与交互带来了极大的方便. ...

  3. Windowsphone 之xml序列化和反序列化的应用(WebService解析返回的数据DataSet )

    关于Xml的序列化和反序列化: 可以看这篇文章,http://www.cnblogs.com/Windows-phone/p/3243575.html WebService解析返回的数据DataSet ...

  4. Duilib源码分析(三)XML解析器—CMarkup

    上一节介绍了控件构造器CDialogBuilder,接下来将分析其XML解析器CMarkup: CMarkup:xml解析器,目前内置支持三种编码格式:UTF8.UNICODE.ASNI,默认为UTF ...

  5. xml解析工具-jdom

    前言:近期接触SSH框架的时候,经常得配置一下xml文件:今天闲来没事就挖挖xml解析的原理供大伙儿分享.本文主要通过一个简单的例子解析一个xml文件.明白其中缘由之后,大家想定义自己的xml也绝非难 ...

  6. iOS -数据库网络之xml解析之远程解析XML

    1.IOS中XML文件获取    //设置远程访问地址     NSURL *url=[NSURL URLWithString:@""];       //创建动态URL请求,并初 ...

  7. iOS -数据库网络之xml解析

    XML文件有2种解析方式 1.基于文档(document) 2.基于事件(sax)   1.IOS中XML文件获取   首先要将XML导入工程中 在ViewController的按钮事件中,代码如下: ...

  8. UI进阶 解析XML 解析JSON

    1.数据解析 解析的基本概念 所谓“解析”:从事先规定好的格式中提取数据 解析的前提:提前约定好格式,数据提供方按照格式提供数据.数据获取方则按照格式获取数据 iOS开发常见的解析:XML解析.JSO ...

  9. Android xml 解析

    XML 经常使用的三种解析方式: DOM: 所有载入到内存,生成一个树状结构,占用内存比較大. SAJ: 採用事件驱动,速度快,效率高,不支持回退. PULL:也是採用事件驱动,语法简洁. 步骤: 1 ...

随机推荐

  1. Android pid uid

    PID:为Process Identifier, PID就是各进程的身份标识,程序一运行系统就会自动分配给进程一个独一无二的PID.进程中止后PID被系统回收,可能会被继续分配给新运行的程序,但是在a ...

  2. [转]java加密算法简要介绍

    本篇内容简要介绍BASE64.MD5.SHA.HMAC几种加密算法.     BASE64编码算法不算是真正的加密算法.     MD5.SHA.HMAC这三种加密算法,可谓是非可逆加密,就是不可解密 ...

  3. 用Python中的tkinter模块作图(续)

    八.显示文字 用create_text在画布上写字.这个函数只需要两个坐标(文字x和y的位置),还有一个具名参数来接受要显示的文字.例如: >>> from tkinter impo ...

  4. elasticsearch系列四:搜索详解(搜索API、Query DSL)

    一.搜索API 1. 搜索API 端点地址 从索引tweet里面搜索字段user为kimchy的记录 GET /twitter/_search?q=user:kimchy 从索引tweet,user里 ...

  5. e783. 监听对JList中项双击和三击

    // Create a list String[] items = {"A", "B", "C", "D"}; JLis ...

  6. Lua------------------改善Unity编辑器对Lua文件的支持

    原创 2017年03月10日 18:44:22 标签: Unity / lua / 编辑器 952 当前版本的Unity(截至Unity5.5.x)中TextAsset类不支持后缀为lua的文件,将l ...

  7. svn -- svn权限控制

    权限控制 问题:当前采用单仓库或多仓库配置中,所有的文件权限都是可读写的,这样就会存在一个问题,只要任何知道了我们的访问地址,那么都可以对文件进行读写操作. 1.为什么需要权限控制 打开服务器端的项目 ...

  8. Zookeeper系统设计的优点

    转自:Zookeeper系统设计的优点.http://webcache.googleusercontent.com/search?q=cache:s6fr40t_5ncJ:www.chaozh.com ...

  9. js 事件调度

    var EventTarget = function () { this._listener = {}; }; EventTarget.prototype = { constructor: this, ...

  10. SpringBoot和SpringCloud配置

    1.基本配置 #项目名称(访问路径) server.context-path=/manager #端口 server.port=8764 #session过期时间 server.sessionTime ...