首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xml和Xml模式

Xml和Xml模式
EN

Stack Overflow用户
提问于 2010-12-16 21:45:46
回答 2查看 183关注 0票数 1

我想以xml格式展示产品的知识。我想显示productname是否另一个站点,我不想显示这个。因此,我想以这种方式创建基本的Xml schema file.in,我想从每个站点获得不同的XML Schema。你能帮帮我吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-12-16 23:13:47

不管以后要对xml做什么,从表中生成xml的最简单方法是序列化它:

  1. 创建一个类似于您的10列的C#类(请阅读Linq To Sql或实体框架,让Visual Studio为您完成繁重的工作)。
  2. 使您的类可序列化。如果你正在创建一个“普通的旧C#对象”(有时称为POCO),你不需要做任何事情。在Linq to Sql中,将Datamodel的Serialization Mode设置为Unidirectional.
  3. Get In variables。使用Linq To ..。这就像

一样简单

where var db =

MyRepository();var myList = from r in db.MyTableRecords r.someField == 'somevalue‘select r;

否则,您将看到自己使用SqlConnection、SqlCommand和SqlDataReader获取数据:

var myList =新列表();使用(var conn =新SqlConnection(MyConnectionString)) { conn.Open();使用(var cmd = conn.CreateCommand()) { cmd.CommandType = CommandType.Text;cmd.CommandText = "SELECT (Field1,...来自MyTable的Field10);使用(var rdr = cmd.ExecuteReader()) { while (rdr.Read()) {myList.Add(新MyClass() { Field1 = rdr,...Field10 = rdr9 });}

  1. 序列化它:

StringBuilder sb =新列表();使用(var sw =新列表(Sb)){ XmlSerializer xs =新类型(XmlSerializer(List));xs.Serialize(sw,myList);} System.Xml.XmlDocument文档=新System.Xml.XmlDocument();doc.LoadXml(sb.ToString());

太好了!包含您的数据的XML文档。使用Linq to Sql,这是非常快速和轻松的。在掌握了这一点并遇到它的局限性之后,尝试使用实体框架,并学习如何使用T4生成您自己的类。

票数 3
EN

Stack Overflow用户

发布于 2010-12-16 23:08:18

这是最简单的方法

代码语言:javascript
复制
StringBuilder sb = new StringBuilder();
var xml = System.Xml.XmlWriter.Create(sb);

dataTable.WriteXml(xml, System.Data.XmlWriteMode.WriteSchema);

return sb.ToString();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4461374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档