>>51aspx首页 | >>Winform源码 | >>.Net源码大搜捕 | >>问题/帮助

Asp.net源码交流论坛

登录 注册
  • 标签
  • 会员
  • 搜索
  • 帮助

Asp.net源码交流论坛 » Asp.net专题讨论区 » ADO.net讨论区 » ADO.NET与XML的结合(c#)

帖子标题
业务申请区
  • 实名认证申请
  • 免费.Net主机申请
  • 积分奖励申请
  • 有偿服务申请
Asp.net交流讨论区
  • Asp.net技术问答
  • .Net项目、服务交易区
  • .Net源码问答区
  • Asp.net技术文章
  • 常用工具下载
Asp.net资源发布区
  • [源码发布区]
  • [视频发布区]
  • [商业代码区]
  • [其他.net相关资源]
Asp.net专题讨论区
  • Ajax/Atlas无刷新技术
  • 面向对象开发
  • ADO.net讨论区
  • 控件专题讨论
源码环境搭建和部署视频! 源码使用常见问题 51Aspx自有服务产品 开业特惠 快速通道:[源码发布] | [实名认证]
1/1页1 跳转到页查看:3838
发新话题 回复该主题
键盘左右键可以进行前后翻页操作
帮助

ADO.NET与XML的结合(c#)

在线 51aspx
头像

51aspx

  • [超级管理员]
  • [2800]
  • 2071
  • 2007-05-17
源码贡献奖实名用户
51aspx 2007-06-10 00:09 | 只看楼主 树型| 收藏| 小 中 大 1 #

ADO.NET与XML的结合(c#)

[实名用户所发信息,推荐关注实名贴,值得关注]


ADO.NET在DataSet中提供对XML的广泛支持.下面是使用XML和ADO.NET的一些技巧信息。
I.DataSet和XML

        DataSet和XML的完美整合,可以使你完成以下事情:
            ①从XSD计划中载入一个DataSet的计划或相关结构;

            下面的例子说明一个XSD文件的结构,其中MyDataSet就是我们的DataSet元素,它下面包含一个customers复合类型元素,有了它我们就可以映射创建一个这样的表:Customers (CustomerID,CompanyName,Phone),同时也定义我们的DataSet的计划或者结构:

[复制到剪贴板]
CODE:
<xs:schema id=&quot;SomeID&quot;
            xmlns=&quot;&quot;
            xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot;
            xmlns:msdata=&quot;urn:schemas-microsoft-com:xml-msdata&quot;>
    <xs:element name=&quot;MyDataSet&quot; msdata:IsDataSet=&quot;true&quot;>
      <xs:complexType>
        <xs:choice maxOccurs=&quot;unbounded&quot;>
          <xs:element name=&quot;customers&quot; >
            <xs:complexType >
              <xs:sequence>
                <xs:element name=&quot;CustomerID&quot; type=&quot;xs:integer&quot;  minOccurs=&quot;0&quot; />
                <xs:element name=&quot;CompanyName&quot; type=&quot;xs:string&quot;    minOccurs=&quot;0&quot; />
                <xs:element name=&quot;Phone&quot; type=&quot;xs:string&quot; />
              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:choice>
      </xs:complexType>
    </xs:element>
  </xs:schema>


②从XML文件中载入一个DataSet的内容;

            要从XML文件填充DataSet的内容,请使用DataSet对象的ReadXml方法。下面的例子说明如何从一个XML文件读取数据到一个DataSet:

[复制到剪贴板]
CODE:
DataSet myDS = new DataSet();
myDS.ReadXml(&quot;input.xml&quot;, XmlReadMode.ReadSchema);


③当没有提供计划时从一个XML文件的内容中推断一个DataSet的计划;

            要从一个XML文件载入DataSet的计划信息,你可以使用DataSet对象的ReadXmlSchema方法。如果没有提供计划,你还可以使用InferXmlSchema从XML文件推断DataSet的计划,下面的例子介绍如何通过InferXmlSchema从一个XML文件推断出DataSet的计划:

[复制到剪贴板]
CODE:
DataSet myDS = new DataSet();
myDS.InferXmlSchema(&quot;input_od.xml&quot;, new string[] &quot;urn:schemas-microsoft-com:officedata&quot;);


④象XSD格式计划一样写一个DataSet的计划;

            下面的例子展示如何通过ReadXmlSchema从一个XSD文件载入DataSet的计划:

[复制到剪贴板]
CODE:
DataSet myDS = new DataSet();
myDS.ReadXmlSchema(&quot;schema.xsd&quot;);


⑤象XML格式文件一样读写一个DataSet的内容。

            利用DiffGrams从DataSet中读写内容,下面的例子显示在提交更改之前更新表中一行数据的结果,其中CustomerID为ALFKI的那一行数据被修改但是还没有更新:

[复制到剪贴板]
CODE:
<diffgr:diffgram xmlns:msdata=&quot;urn:schemas-microsoft-com:xml-msdata&quot; xmlns:diffgr=&quot;urn:schemas-microsoft-com:xml-diffgram-v1&quot;>
  <CustomerDataSet>
    <Customers diffgr:id=&quot;Customers1&quot; msdata:rowOrder=&quot;0&quot; diffgr:hasChanges=&quot;modified&quot;>
      <CustomerID>ALFKI</CustomerID>
      <CompanyName>New Company</CompanyName>
    </Customers>
    <Customers diffgr:id=&quot;Customers2&quot; msdata:rowOrder=&quot;1&quot; diffgram:hasErrors=&quot;true&quot;>
      <CustomerID>ANATR</CustomerID>
      <CompanyName>Ana Trujillo Emparedados y helados</CompanyName>
    </Customers>
    <Customers diffgr:id=&quot;Customers3&quot; msdata:rowOrder=&quot;2&quot;>
      <CustomerID>ANTON</CustomerID>
      <CompanyName>Antonio Moreno Taquerí&amp;shy;a</CompanyName>
    </Customers>
    <Customers diffgr:id=&quot;Customers4&quot; msdata:rowOrder=&quot;3&quot;>
      <CustomerID>AROUT</CustomerID>
    <CompanyName>Around the Horn</CompanyName>
    </Customers>
  </CustomerDataSet>
  <diffgr:before>
    <Customers diffgr:id=&quot;Customers1&quot; msdata:rowOrder=&quot;0&quot;>
      <CustomerID>ALFKI</CustomerID>
      <CompanyName>Alfreds Futterkiste</CompanyName>
  </Customers>
  </diffgr:before>
  <diffgr:errors>
    <Customers diffgr:id=&quot;Customers2&quot; diffgr:Error=&quot;An optimistic concurrency violation has occurred for this row.&quot;/>
  </diffgr:errors>
</diffgr:diffgram>


最后编辑51aspx 最后编辑于 2008-05-07 10:41:03
技术问题请直接发布到论坛,客户服务QQ:1120930903,合作及咨询QQ:793095132
常见问题:点这里,请仔细查看!
基础配置视频: 点这里
问题搜索:请点击!
积分奖励: 关于论坛实名版块的建议...
 

TOP

 

发送短消息

查看公共资料

查找该会员全部帖子

  • 2
  • 27
  • 594 分
  • 364.6 元
  • 北京
  • 在线
  • QQ: 793095132 793095132
离线 linkangbing
头像

  • [学员]
  • [5]
  • 2
  • 2009-03-16
linkangbing 2009-05-09 20:58 树型| 收藏| 小 中 大 2 #

4444



邢唷?
 

TOP

 

发送短消息

查看公共资料

查找该会员全部帖子

  • 49440
  • 0
  • 3 分
  • -5 元
  • 离线
离线 vidhl
头像

  • [学员]
  • [6]
  • 3
  • 2008-01-09
vidhl 2009-05-11 11:25 树型| 收藏| 小 中 大 3 #



顶个
<a href="http://www.hxtxlw.cn" title="红袖添香论文网">红袖添香论文网</a>
 

TOP

 

发送短消息

查看公共资料

查找该会员全部帖子

  • 4892
  • 0
  • 3 分
  • 0 元
  • 离线
离线 xxjxxm
头像

  • [实习生]
  • [13]
  • 7
  • 2008-12-28
xxjxxm 2009-07-01 23:49 树型| 收藏| 小 中 大 4 #



有点复杂 没有去尝试下!
 

TOP

 

发送短消息

查看公共资料

查找该会员全部帖子

  • 42788
  • 0
  • 6 分
  • -1 元
  • 离线
离线 happying
头像

happying

  • [实习生]
  • [17]
  • 6
  • 2009-07-14
happying 2009-07-14 11:11 树型| 收藏| 小 中 大 5 #



顶。。。
 

TOP

 

发送短消息

查看公共资料

查找该会员全部帖子

  • 62372
  • 0
  • 11 分
  • 3 元
  • 离线
<<上一主题|下一主题>>
1/1页1 跳转到页
发表新主题 回复该主题
  • 发新主题

Asp.net源码下载专业站  - 源码推荐 - 最新源码  Sitemap

bbs.51Aspx.com - 简洁版本 - TOP - 界面风格

  • Default

Discuz!NT

Powered by Discuz!NT 2.6.1 © 2000-2010 51Aspx.com.

Processed in 0.09375 second(s) , 3 queries. 京ICP备06046876号

  • 我的资料
  • 我的主题
  • 我的回复
  • 我的精华
  • 我的附件
  • 我的收藏
  • 基本状况
  • 流量统计
  • 客户软件
  • 发帖量记录
  • 版块排行
  • 主题排行
  • 发帖排行
  • 积分排行
  • 在线时间
帖子标题
作  者