是否有一个类可从.NET中的XSD架构生成示例XML文档

时间:2020-03-05 18:47:01  来源:igfitidea点击:

在Visual Studio中,我们可以根据现有架构创建模板XML文档。 VS2008 SP1中新的XML Schema Explorer使这一过程更进一步,并且可以创建带有数据的示例XML文档。
.NET中是否有一个类库可以自动执行此操作,而不必使用Visual Studio?我在MSDN上找到了XmlSampleGenerator文章,但该文章写于2004年,所以现在.NET中可能已经包含某些内容来执行此操作?

解决方案

回答

我直接想到的就是第三方插件。我们可以利用xsd模式定义工具获取XSD并创建.NET对象/类,一旦有了它,就可以引用链接的页面:

XSD to Classes: Generates runtime classes from an XSD schema file. The generated classes can be used in conjunction with System.Xml.Serialization.XmlSerializer to read and write XML code that follows the schema.

回答

涉及一些工作量,但是我们可以将xsd加载到DataSet对象中,在Tables上进行迭代,并通过在每个Tables上调用NewRow()然后将这些行添加回各自的表中来在其中添加几行。数据集输出到一个文件中:

DataSet ds = new DataSet();
ds.ReadXmlSchema("c:/xsdfile.xsd");

foreach(DataTable t in ds.Tables)
{
var row = t.NewRow();
t.Rows.Add(row);
}

ds.WriteXml("c:/example.xml");

P.S.要做一些额外的工作,但是我们不仅可以遍历每种表类型并添加空行,还可以构建一个不错的winform,从而允许我们为每行添加一些数据。几周前,我在大约一个小时内建立了类似的东西。