Generate a test XML from XML Schema programmatically(以编程方式从 XML Schema 生成测试 XML)
问题描述
我现在已经搜索了一些,但我无法找到以编程方式从 XML 模式自动生成数据的方法.假设我有这个 XML 模式:
I have searched for a bit now, but i'm not able to find a way to autogenerate data from a XML Schema programmatically. Lets say I have this XML schema:
<xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name ="Persons">
<xs:complexType>
<xs:sequence>
<xs:element name="Person">
<xs:complexType>
<xs:sequence>
<xs:element name="FirstName" type="xs:string" />
<xs:element name="LastName" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
我可以使用 VS 函数生成示例 XML"由此创建一个 XML
有没有办法以编程方式做到这一点?
I am able to create a XML from this using the VS function "Generate Sample XML"
Is there a way to do this programmatically?
指定.我不想自己创建所有对象并以编程方式插入数据.我希望它能够像 VS 中的生成示例 XML"一样自动创建对象和属性.这样做的原因是我想更改 XSD 而不必对 xml 样本生成做任何事情.
To specify. I do not want to create all the objects and insert data programmatically myself. I would like for it to create the objects and attributes automatically just like the "Generate Sample XML" in VS. The reason for this is that i would like to change the XSD without having to do anything about xml sample generation.
推荐答案
经过一番搜索.我找到了一个实现 xml 示例生成器的 项目.我创建了一个测试解决方案并导入了这些类.然后我删除了 XmlGen.cs 文件并创建了我自己的 main 方法.输出将基于根元素.
after doing some searching. I have found a project that have implemented a xml sample generator. I created a test solution and imported the classes. Then i deleted the XmlGen.cs file and created my own main method. The output will be based on the root element.
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: empautogen.xml"));
Console.WriteLine("Autogenerated file is here : c: empautogen.xml");
}
}
这篇关于以编程方式从 XML Schema 生成测试 XML的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:以编程方式从 XML Schema 生成测试 XML


- C# 中多线程网络服务器的模式 2022-01-01
- WebMatrix WebSecurity PasswordSalt 2022-01-01
- C#MongoDB使用Builders查找派生对象 2022-09-04
- 在哪里可以找到使用中的C#/XML文档注释的好例子? 2022-01-01
- 输入按键事件处理程序 2022-01-01
- Web Api 中的 Swagger .netcore 3.1,使用 swagger UI 设置日期时间格式 2022-01-01
- 如何用自己压缩一个 IEnumerable 2022-01-01
- MoreLinq maxBy vs LINQ max + where 2022-01-01
- 良好实践:如何重用 .csproj 和 .sln 文件来为 CI 创建 2022-01-01
- 带有服务/守护程序应用程序的 Microsoft Graph CSharp SDK 和 OneDrive for Business - 配额方面返回 null 2022-01-01