【发布时间】:2011-08-26 04:39:29
【问题描述】:
我从 Visual Studio 创建了一个 XSD 文件,也可以生成一个示例 XML,但我的目标是在运行时使用这个 XSD 创建一个 XML 文件。
我使用 XSD.exe 从我的 XSD 文件生成一个类,然后创建了一个程序来填充“类”中的对象。如何将对象序列化为 XML 文件?
【问题讨论】:
标签: c# xml serialization xsd
我从 Visual Studio 创建了一个 XSD 文件,也可以生成一个示例 XML,但我的目标是在运行时使用这个 XSD 创建一个 XML 文件。
我使用 XSD.exe 从我的 XSD 文件生成一个类,然后创建了一个程序来填充“类”中的对象。如何将对象序列化为 XML 文件?
【问题讨论】:
标签: c# xml serialization xsd
这两个示例都将流打开,并且 XmlFormatter 是 BizTalk 库的一部分 - 所以 XmlSerializer 会更合适:
using (Stream stream = File.Open(fileName, FileMode.Create))
{
XmlSerializer serializer = new XmlSerializer(typeof(MyObject));
serializer.Serialize(stream, MyObject);
stream.Flush();
}
【讨论】:
当您使用 XSD.exe 工具创建了用于序列化和反序列化 Xml 文件的类后,您可以使用 .. 将实例写回到文件中
Stream stream = File.Open(filename, FileMode.Create);
XmlFormatter formatter = new XmlFormatter (typeof(XmlObjectToSerialize));
formatter.Serialize(stream, xmlObjectToSerialize);
stream.Flush();
【讨论】:
二进制格式为二进制,XML 使用 XML 版本:
XmlFormatter serializer = new XmlFormatter(typeof(MyObject));
serializer.Serialize(stream, object1);
【讨论】: