Tôi có thể tìm thấy hướng dẫn tốt về serialization XMl cho đối tượng ở đâu? Cảm ơn.Nối tiếp XML trong C#
Trả lời
Có một hướng dẫn cơ bản về Microsoft's support pages và ví dụ mã của họ chỉ là một vài dòng dài:
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();
}
}
Về cơ bản, bạn không phải làm bất cứ điều gì ngoài việc gọi các chức năng tích hợp làm tất cả công việc khó khăn cho bạn.
MSDN có một bài viết khá về nó: http://msdn.microsoft.com/en-us/library/ms733901.aspx
Và cái này là một chút đơn giản hơn: http://www.dotnetjohn.com/articles.aspx?articleid=173
Dưới đây là một khởi đầu tốt microsoft
Cũng nhìn vào Xml Schema và tạo lớp tự động với xsd.exe bạn càng sớm càng quen với điều này càng tốt, nó có thể giúp bạn tiết kiệm rất nhiều công sức khi làm việc với XML. Ngoài ra nhìn vào C# tập tin được tạo cung cấp cho bạn một số manh mối về cách sử dụng các thuộc tính để thao tác cách lớp học được serilized bởi XmlSerializer
của nó thực sự khá đơn giản, chỉ có ba bước chính.
- Bạn cần đánh dấu các lớp học của mình bằng thuộc tính
[Serializable]
. đang serialization
- Viết
- đang Write Deserialization
serialization:
var x = new XmlSerializer(typeof(YourClass));
var fs = new FileStream(@"C:\YourFile.xml"), FileMode.OpenOrCreate);
x.Serialize(fs, yourInstance);
fs.Close();
Deserialization:
var x = new XmlSerializer(typeof(YourClass));
var fs = new FileStream(@"C:\YourFile.xml"), FileMode.Open);
var fromFile = x.Deserialize(fs) as YourClass;
fs.Close();
Bạn có thể dễ dàng tìm thấy nhiều hướng dẫn về dữ liệu tuần tự sử dụng Net trên Web. Tuy nhiên, hãy để tôi nhắc nhở một số điểm:
loại serialization:
a. XML serialization: Vui lòng xem http://www.switchonthecode.com/tutorials/csharp-tutorial-xml-serialization
b. Phân loại nhị phân: Vui lòng tham khảo http://www.switchonthecode.com/tutorials/csharp-tutorial-serialize-objects-to-a-file
Ngoài ra, hãy lưu ý các khía cạnh bảo mật khi bạn làm việc (đọc và ghi dữ liệu) với tệp. Có một hướng dẫn tốt tại đây http://msdn.microsoft.com/en-us/library/system.security.permissions.fileiopermission.aspx
Chúng tôi sử dụng Serialization để ghi dữ liệu ở định dạng nhị phân và định dạng XML. cho định dạng nhị phân, chúng tôi sử dụng BibnaryFormatSerialization và cho định dạng XML, chúng tôi sử dụng SoapFormatSerialization.
- 1. Nối tiếp XML chậm
- 2. Nối tiếp một bitmap trong C# /. NET thành XML
- 3. Nối tiếp XML và giá trị null - C#
- 4. Nối tiếp Json trong C#
- 5. API Web - Nối tiếp động với XML
- 6. Nối tiếp XML VS Phân tích cú pháp XML
- 7. Nối tiếp XML - kết quả khác nhau trong .NET 4.0
- 8. Nối tài liệu xml vào nút xml trong C#?
- 9. Nối tiếp thành XML bằng cách sử dụng boost :: serialization
- 10. Kết nối Cổng Nối tiếp (RS -232) trong C++
- 11. Nối tiếp danh sách cặp khóa/giá trị thành XML
- 12. Nối tiếp thành XML qua DataContract: đầu ra tùy chỉnh?
- 13. Nối tiếp Xml so với "Đúng" và "Sai"
- 14. Nối tiếp và Lược đồ XML không có xsd.exe
- 15. Nối tiếp chuỗi XML của DateTime và xsd: date?
- 16. Nối tiếp XML cùng một thẻ hai lần
- 17. Nối tiếp một đối tượng thành JSON, XML, YAML?
- 18. Nối tiếp nhị phân so với JSON so với xml
- 19. C# Nối tiếp các lớp lồng nhau
- 20. Giao tiếp cổng nối tiếp: đấu nối cổng nối tiếp vs sử dụng cổng nối tiếp DataReceived event
- 21. Nối tiếp thành một đoạn XML - không phải tài liệu XML
- 22. giao tiếp nối tiếp php trong linux
- 23. Nối tiếp và phiên bản đối tượng trong C#
- 24. Viết STRINGS vào cổng nối tiếp trong C++ linux
- 25. Truy cập USB hoặc Cổng nối tiếp trong C#
- 26. Xóa cổng nối tiếp nhận bộ đệm trong C#
- 27. Nối tiếp WITHOUT xmlns
- 28. Ngày nối tiếp trong SQL?
- 29. Trình nghe và nối tiếp cổng nối tiếp Linux?
- 30. InvalidOperationException khi nối tiếp
Đối với tuần tự hóa XML, thuộc tính [Serializable] là không cần thiết.Thuộc tính [Serializable] là cần thiết cho serialization nhị phân. – Xenan
@Xenan +1 để đề cập rằng '[Serializable]' là thừa cho XML serialization –