2010-05-18 2 views
1

Я хочу написать XML-файл. Я создал файл XSD с именем XMLSchema.xsd и запустил команду «xsd/c XMLSchema.xsd», которая сгенерировала файл класса C#. Теперь, как я могу использовать этот файл для генерации XML-файлов?Использование XSD-файла в VS2005

Часть моего кода:

<?xml version="1.0" encoding="utf-8"?> 
<xs:schema id="XMLSchema" targetNamespace="http://tempuri.org/XMLSchema.xsd" elementFormDefault="qualified" xmlns="http://tempuri.org/XMLSchema.xsd" > 
<xs:element name="root"> 
    <xs:complexType> 
     <xs:sequence> 
     <xs:element name="Audit"> 
      <xs:complexType> 
       ... 

, который генерирует C# класс 'корень'.

Как я могу назвать «root» из моей веб-программы на C#?

Благодаря

ответ

1

Вам необходимо включить root.cs файл в вашем проекте, то он будет доступен.

Для чтения и записи XML-файлов с использованием этого класса вам необходимо использовать serialization.

0

Как сказал Одед, вы просто включаете сгенерированный файл в свой проект. Что касается загрузки/сохранения, вы просто создаете новый XmlSerializer для вашего сгенерированного класса, то есть root. В коде:

Загрузка:

using (var fileStream = File.OpenRead(xmlFilePath)) 
{ 
    using (var reader = new StreamReader(fileStream)) 
    { 
     Root data; 
     var serializer = new XmlSerializer(typeof(Root)); 

     try 
     { 
      data = serializer.Deserialize(reader) as T; 
     } 
     catch (InvalidOperationException exception) 
     { 
      // XML is invalid 
      return null; 
     } 

     return data; 
    } 
} 

Экономия:

using (var fs = File.Create(targetPath)) 
{ 
    using (var writer = new StreamWriter(fs)) 
    { 
     var serializer = new XmlSerializer(typeof(Root)); 
     serializer.Serialize(writer, value); 
    } 
}