以编程方式从XML Schema生成测试XML

我现在搜索了一下,但是我无法找到一种以编程方式从XML Schema自动生成数据的方法。 假设我有这个XML架构:

              

我可以使用VS函数“Generate Sample XML”从中创建XML 在此处输入图像描述
有没有办法以编程方式执行此操作?

编辑:指定。 我不想自己创建所有对象并以编程方式插入数据。 我希望它能像VS中的“生成示例XML”一样自动创建对象和属性。 这样做的原因是我想更改XSD而不必对xml样本生成做任何事情。

经过一番搜索。 我找到了一个实现了xml样本生成器的项目。 我创建了一个测试解决方案并导入了类。 然后我删除了XmlGen.cs文件并创建了我自己的main方法。 输出将基于根元素。

 public static void Main(string[] args) { using (var stream = new MemoryStream(File.ReadAllBytes("schema.xsd"))) { var schema = XmlSchema.Read(XmlReader.Create(stream ), null); var gen = new XmlSampleGenerator(schema, new XmlQualifiedName("rootElement")); gen.WriteXml(XmlWriter.Create(@"c:\temp\autogen.xml")); Console.WriteLine("Autogenerated file is here : c:\temp\autogen.xml"); } } 

您可以编写简单的函数,将1行放入数据表,然后执行DataTable.WriteXml(string filePath)

Somethig喜欢这样:

 xmlschema1 schema=new xmlschema1(); //put some test data in table schema.Persons.AddPersonsRow(...some params); //generate xml schema.Persons.WriteXml(filePath);