我使用xsd从XML模式生成类。我如何将它们写回XML?
问题描述:
XML模式指定文件的索引。以下是XML文件应该如何的示例。我使用xsd从XML模式生成类。我如何将它们写回XML?
<?xml version="1.0" encoding="utf-8"?>
<fIndex xsi:schemaLocation="http:address fIndex.xsd" xmlns="address" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<f>
<foN>SomeDir</foN>
<fiN>file1.txt</fiN>
</f>
<f>
<foN>SomeDir</foN>
<fiN>file2.txt</fiN>
</f>
</fIndex>
我用xsd来创建XML所需的类。然后填入一些示例代码以匹配上面的示例。
class Program
{
static void Main(string[] args)
{
fileIndexType table = new fileIndexType();
fileIndexTypeF element1 = new fileIndexTypeF();
fileIndexTypeF element2 = new fileIndexTypeF();
element1.fiN = @"C:\SomeDir";
element1.foN = @"file1.txt";
element2.fiN = @"C:\SomeDir";
element2.foN = @"file2.txt";
fileIndexTypeF[] files = new fileIndexTypeF[2] { element1, element2 };
table.f = files;
}
}
如何创建上述XML文件?
答
您需要serialize这个对象。
的XmlSerializer
类可用于这样的:
XmlSerializer serializer = new XmlSerializer(typeof(fileIndexType));
using(Stream writer = new FileStream(filename, FileMode.Create))
{
serializer.Serialize(writer, table);
writer.Close();
}
哇。这工作。非常感谢。 – 2010-11-19 14:56:05
@Kasper Hansen - 逆向过程(从诸如XML文件等文件中提取对象图)称为反序列化。 – Oded 2010-11-19 14:58:51
是的。谢谢。我有点失落。现在我知道该读什么。 – 2010-11-19 15:18:20