2012-06-11 40 views
1

我總是一定要編寫一個XML序列化程序類,以將數據保存到磁盤中,這些應用程序使用XML文件作爲結構化信息存儲。XML的ORM框架

有沒有一種工具可以提供一個XML結構的例子,它會生成一個c-sharp類來處理這種xml結構?

例如,我想用「工程」

<projectsInfo> 
    <projectTypes> 
     <Type>super</Type> 
     <Type>best</Type> 
    </projectTypes> 

    <projects> 
     <project> 
       <name>One</name> 
       <p-type>best</p-type> 
     </project> 
    </projects>  
</projectsInfo> 

的XML存儲工作,這將產生一個LINQ到XML啓用類添加/遠端類型和項目實例。

也許這已經是一個普遍解決的解決方案我只是不知道,或者每個人都在使用內存對象的內置XML序列化?

回答

1

c#有XmlSerializer類,用於將對象序列化爲XML文件。 您可以使用各種屬性簡單地註釋您的類來格式化XML。 (例如:[XmlElement],[XmlAttribute]等)

+0

嗯,序列化單一元素是好的,但我能寫' GetAllProjectsOfType(string type)'方法何時使用內置序列化器對數據進行序列化? –

0

您可以使用Visual Studio提供的XSD實用程序根據您的xml文件生成類/架構。一旦擁有該類,就可以使用XmlSerializer將文件串行化或反序列化爲類的實例。 LINQ將與實施IEnumerable<T>(任何收集)的班級內的任何財產一起工作。
在.NET 4中,你也可以使用關鍵字dynamic,構建一個動態XML包裝,但林不知道它的太舒服/有用