2010-11-19 53 views
0

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文件?

回答

4

您需要serialize這個對象。

XmlSerializer類可用於這樣的:

XmlSerializer serializer = new XmlSerializer(typeof(fileIndexType)); 
using(Stream writer = new FileStream(filename, FileMode.Create)) 
{ 
    serializer.Serialize(writer, table); 
    writer.Close(); 
} 
+0

哇。這工作。非常感謝。 – 2010-11-19 14:56:05

+0

@Kasper Hansen - 逆向過程(從諸如XML文件等文件中提取對象圖)稱爲反序列化。 – Oded 2010-11-19 14:58:51

+0

是的。謝謝。我有點失落。現在我知道該讀什麼。 – 2010-11-19 15:18:20