6

我正在一个 .net 应用程序中工作,我们需要根据从数据库中检索到的数据集动态生成 XML 文件。XML 模式应该基于提供的 xsd。我想知道是否有任何方法可以将数据集或每个数据行与 xsd 绑定或关联。我不知道它是否可以完成,或者我可能从错误的角度考虑使用 XSD。如果我错了,请纠正我,让我知道将从 db 检索到的数据关联到预定义模式的最佳方法。谢谢。

更新:如果我对 xsd 的看法是错误的,请说明如何使用 xsd(或者可能指向一些有用的链接)。

4

2 回答 2

3

使用架构文档作为 Visual Studio 附带的命令行 xsd.exe 程序的参数,以生成可以包含在项目/解决方案中的类文件或类型化数据集。这些类或数据集可以序列化为 xml,并符合您用于创建它们的模式文档。

唯一的问题是它不是动态的:您不能等到运行时才能获取架构文件。但是没有内置的东西支持这一点。

于 2008-09-16T19:31:27.083 回答
1

除了 Joel Coehoorn 建议的解决方案——从 XSD 生成类型化数据集或业务实体——让我添加一些其他方法:

  1. 如果您使用支持 XML 类型的数据库,如 Oracle 或 MS SQL Server,您可以直接在 SQL 查询中构建 XML,并绕过数据集的填充直接从数据库中检索 XML。
  2. 如果您的数据库模式没有直接映射到给定的 XSD,即您已经有一个类型化的数据集或一组可序列化 XML 的业务对象,并且这些对象被序列化为不符合您提供的 XSD 的 XML,然后您可以使用 XSLT 将您的 XML 转换为另一个符合给定 XSD 的 XML 文档。
于 2008-09-16T20:07:35.517 回答