最近在看一些接口,所以目标就是写接口啦,但是我想说的是公司的业务还不曾了解,所以自己先来做一个小小的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. Java中static、final、static final的区别(转)+transient

    说明:不一定准确,但是最快理解. final: final可以修饰:属性,方法,类,局部变量(方法中的变量) final修饰的属性的初始化可以在编译期,也可以在运行期,初始化后不能被改变. final ...

  2. html全选和取消全选JS

    <html> <body> <table border="1"> <tr> <th><input type=&qu ...

  3. 转:用法总结:NSNumber、NSString、NSDate、NSCalendarDate、NSData(待续)

    NSNumber + (NSNumber *)numberWithInt:(int)value; + (NSNumber *)numberWithDouble:(double)value; - (in ...

  4. 使用Maven运行单元测试

    要通过Maven运行单元测试,发出此命令: mvn test 这会在你的项目中运行整个单元测试. 案例学习 创建两个单元测试,并通过 Maven 的运行它.参见一个简单的 Java 测试类: pack ...

  5. e859. 将键盘事件和字符串对应

    The KeyStroke.toString() method does not return a string that can be parsed by KeyStroke.getKeyStrok ...

  6. 正则表达式-----------------------------------C#的正则表达式

    为了避免以后这样的情况,在此记录下正则表达式的一些基本使用方法附带小的实例.让以后在使用时能一目了然知道他的使用,为开发节约时间,同时也分享给大家 正则元字符 在说正则表达式之前我们先来看看通配符,我 ...

  7. 远程桌面连接工具 Remote Desktop Manager 9.1.2.0 Enterprise 多国语言绿色版附注册码 简单使用

    1:修改成中文简体 2: 注册破解  (记得一定要先断网)   admin admin@admin.com 31GKI-OK1HY-59H35-Y8GPB-8WDY6 3 : 创建连接   搞定

  8. mongodb 学习1

    基本概念 MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种.它在许多场景下可用于替代传统的关系型数据库或键/值存储方式( 文件存储格式为BSON(一种JS ...

  9. Linux可视化服务器管理工具webmin

    webmin是一个可视化的linux服务器管理工具,可以帮助我们实现很多功能. Webmin官网: http://www.webmin.com/ 下载地址:http://prdownloads.sou ...

  10. idea过期激活

    1.进到文件夹中:C:\Windows\System32\drivers\etc ,找到hosts文件,用记事本编辑 2.将“  0.0.0.0 account.jetbrains.com ”添加到h ...