Gdzie mogę znaleźć dobry tutorial o serializacji XMl do obiektu? Dzięki.Serializacja XML w C#
Odpowiedz
Jest to podstawowy poradnik na Microsoft's support pages a ich przykład kodu jest tylko kilka linii Long:
using System;
public class clsPerson
{
public string FirstName;
public string MI;
public string LastName;
}
class class1
{
static void Main(string[] args)
{
clsPerson p=new clsPerson();
p.FirstName = "Jeff";
p.MI = "A";
p.LastName = "Price";
System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(p.GetType());
x.Serialize(Console.Out, p);
Console.WriteLine();
Console.ReadLine();
}
}
Zasadniczo nie musisz wykonywać żadnych innych funkcji niż wywoływać wbudowane funkcje, które wykonują dla Ciebie ciężką pracę.
MSDN ma przyzwoitą artykuł o tym: http://msdn.microsoft.com/en-us/library/ms733901.aspx
A ten jest nieco bardziej prosta: http://www.dotnetjohn.com/articles.aspx?articleid=173
Oto dobry początek microsoft
Zobacz również w XML Schema i automatyczne generowanie klas z xsd.exe im szybciej się do tego przyzwyczaisz, tym lepiej zaoszczędzisz sporo pracy z XML. patrząc również na generowanych C# plików daje pewne wskazówki na temat korzystania z atrybutów manipulować drogę zajęcia serilized przez XmlSerializer
Jej naprawdę bardzo proste, są tylko trzy główne etapy.
- Trzeba zaznaczyć swoje klasy z atrybutem
[Serializable]
. - wprowadź kod serializacji
- wprowadź kod Deserializacji
serializacji:
var x = new XmlSerializer(typeof(YourClass));
var fs = new FileStream(@"C:\YourFile.xml"), FileMode.OpenOrCreate);
x.Serialize(fs, yourInstance);
fs.Close();
Deserializacji:
var x = new XmlSerializer(typeof(YourClass));
var fs = new FileStream(@"C:\YourFile.xml"), FileMode.Open);
var fromFile = x.Deserialize(fs) as YourClass;
fs.Close();
Można łatwo znaleźć wiele tutoriali o serializacji danych z wykorzystaniem .NET na Sieć. Jednak przypomnę kilka punktów:
Rodzaje serializacji:
się. Serializacja XML: proszę spojrzeć na: http://www.switchonthecode.com/tutorials/csharp-tutorial-xml-serialization
b. Serializacja binarna: Proszę zapoznać się z http://www.switchonthecode.com/tutorials/csharp-tutorial-serialize-objects-to-a-file
Należy również pamiętać o aspektach bezpieczeństwa podczas pracy (odczytywania i zapisywania danych) z plikami. Jest dobry tutorial tutaj http://msdn.microsoft.com/en-us/library/system.security.permissions.fileiopermission.aspx
Używamy serializacji do zapisu danych w formacie binarnym iw formacie XML. w formacie binarnym używamy formatu BibnaryFormatSerialization, a do formatu XML używamy SoapFormatSerialization.
- 1. Serializacja XML wyliczeń
- 2. Serializacja XML Dynamic Ignore
- 3. Serializacja Xml ReadOnlyCollections
- 4. Serializacja Json w C#
- 5. Serializacja XML listy z atrybutami
- 6. Serializacja czasu projektowania w C#
- 7. Serializacja XML - inny wynik w .NET 4.0
- 8. Dlaczego serializacja binarna jest szybsza niż serializacja xml?
- 9. C# XML Serializacja tablicy - Pomiń "puste" wartości ciągów znaków
- 10. Serializacja XML i przedrostki przestrzeni nazw
- 11. C# Obiekt binarny Serializacja
- 12. Serializacja binarna vs. JSON kontra xml
- 13. XML Serializacja wartości domyślnych opcjonalnych atrybutów
- 14. JSON.Net Xml Serializacja źle rozumie tablice
- 15. .NET Serializacja XML na podstawie XSD?
- 16. Web API - serializacja dynamiczna do XML
- 17. C++ serializacja boost z stringstream
- 18. Serializacja zgodna z PHP od C/C++
- 19. Serializacja i wersjonowanie obiektów w C#
- 20. Serializacja XML .net - Zapisywanie odniesienia zamiast kopiowania obiektów
- 21. Serializacja w języku C# bez użycia systemu plików
- 22. Ogólna serializacja w Haskell
- 23. Serializacja - różnice między C++ i Javą
- 24. Konwersja NSString na dane Base64 dla XML Serializacja
- 25. XML w C#
- 26. C++ 11 std :: shared_ptr + boost :: serializacja
- 27. Serializacja wzmocnienia, deserializacja surowych macierzy C
- 28. Serializacja Xml dołączająca znak \ 0 (backslash 0 lub Null)?
- 29. Serializacja klas XStream i Object
- 30. Serializacja funkcji w Haskell
W przypadku serializacji XML atrybut [Serializable] nie jest konieczny.Do serializacji binarnej potrzebny jest atrybut [Serializable]. – Xenan
@ Xenan +1 za wzmiankę o tym, że '[Serializable]' jest zbędne dla Serializacji XML –