Не сте регистриран! Регистрирайте се БЕЗПЛАТНО, за да използвате услугите на сайта!

   Рубрики
 
 
 
 

 Форуми
» SEO и оптимизация
» Всичко за PHP и Perl
» Всичко за C, C++ и .NET
» Всичко за Java и JSP
» Всичко за SQL и MySQL
» Всичко за XHTML и CSS
» Презентация на сайтове
 XML сериализация
  1. XML сериализация-Въведение
  2. XML сериализация-2
  3. XML сериализация-3
  4. XML сериализация-4
  5. XML сериализация-5
     
Автор  xman (24.05.2004 21:35)  съобщение до автора
Погледнат  5188 пъти  добави към любими
Оценка  добави коментар
Гласове  14  изпрати на приятел
Коментари  (0)  абонирай се за XML
    Страница 2 / 5

 



XML сериализацията подобно на binary сериализацията се справя и със графове от обекти
Нека да добавим още един клас който има пропърти от тип MyClass1
CODE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class MyClass2
{

   
private  MyClass1 m_Graph;

   
public MyClass2()
    {
       
m_Graph=new MyClass1();
   
}

   
public MyClass1 Graph
   
{
       
get{return m_Graph;}
       
set{m_Graph=value;}
    }
}
И сега да сериализираме графа
CODE
1
2
3
4
5
6
MyClass2 myObject = new MyClass2();           
XmlSerializer mySerializer = new XmlSerializer(typeof(MyClass2));           
StreamWriter myWriter = new StreamWriter("c:\myclass.xml");
mySerializer.Serialize(myWriter, myObject);
myWriter.Flush();
myWriter.Close();

Ако отворим файла myclass.xml ще видим следното:
CODE
1
2
3
4
5
6
<?xml version="1.0" encoding="utf-8"?>
<
MyClass2 xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <
Graph>
    <
Title>title1</Title>
  </
Graph>
</
MyClass2>
Тагът <MyClass2> съдържа описанието на нашият клас MyClass2. Тагът <Graph> съдържа описанието на пропъртито Graph, което е от тип
MyClass1.

Както се вижда XML сериализирането е просто и дотук почти  не се различава от binary сериализацията.
.NET палатформата предлага някой допълнителни възможности да контролираме XML сериализацията, чрез използване на атрибути
Ще спомена някой от тях.

Един такъв атрибут е XmlIgnore. Той позволява да укажем дадено поле/пропърти да не се включва във XML съдаржанието
Нека да променим декларацията на нашият MyClass1 по следният начин:

CODE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class MyClass1
{
   
   
private  string m_Title;

   
public MyClass1()
    {
       
m_Title="title1";
   
}

    [
XmlIgnore]
   
public string Title
   
{
       
get{return m_Title;}
       
set{m_Title=value;}
    }
}



 << Предишна страница Следваща страница >> 


Ключови думи: xml сериализация .net c# атрибут


Още уроци от тази рубрика


 
  • Подобни теми от myLinks
 

 1 посетител чете този урок (0 потребители и 1 гост)  
Активни потребители: ---
   
  

Еmail  
 

 

 
  • Интересно от Софтуер
 



IT-PLACE.NET © 2004 - 2008