加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – DataTable中的ReadXML数据和Schema

发布时间:2020-12-16 01:50:21 所属栏目:百科 来源:网络整理
导读:我有两个字符串.一个字符串具有 XML数据,另一个字符串具有相应的 XML模式.我正在尝试读取DataTable中的数据.看起来这是不可能的.我不想使用数据集.有没有办法可以将XML数据和Schema组合成一个内存流并读取? 解决方法 简而言之,不,没有办法通过DataTable上的
我有两个字符串.一个字符串具有 XML数据,另一个字符串具有相应的 XML模式.我正在尝试读取DataTable中的数据.看起来这是不可能的.我不想使用数据集.有没有办法可以将XML数据和Schema组合成一个内存流并读取?

解决方法

简而言之,不,没有办法通过DataTable上的方法将xml直接加载到DataTable中,也没有办法直接从任意模式创建DataTable.这些操作必须通过DataSet完成;否则,你最终会做一些非常复杂的解决方法.

您可以使用xml序列化来应用某些技术,这些技术可以从以前序列化的xml重新创建数据集.但是,这不允许使用任意模式.

您还可以编写专门用于加载XML的代码(通过XDocument,XmlDocument或XmlTextReader)并动态创建DataTable,但写入并不是一件容易的事情,并且可能需要一段时间.它也有点重新发明轮子.

从本质上讲,DataSet是该层次结构中唯一具有处理XML的方法的类,因为Xml可以包含任意数量的表.为了处理最广泛的情况,当您几乎不能对XML做出任何假设时,必须在该级别实现它.

您还可以考虑将xml简单地加载到XDocument中,使用Validate扩展方法验证它,并使用Linq to Xml来查询它是否合适.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读