Sti*_*ahl 3 c# xml xsd sample visual-studio
我现在搜索了一下,但是我无法找到一种以编程方式从XML Schema自动生成数据的方法.假设我有这个XML架构:
<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>
Run Code Online (Sandbox Code Playgroud)
我可以使用VS函数"生成示例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");
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18254 次 |
| 最近记录: |