2011-02-08 32 views
5

Tôi đang làm việc với VB.NET và tôi đang đối mặt với một vấn đề với serialization XML. Khi giá trị sản phẩm nào tồn tại trong đối tượng Tôi serializing, các tập tin XML chứa các thẻ sau:Có cách nào để tránh các thẻ tự đóng khi sử dụng XML serialization không?

<tagName/> 

thay vì:

<tagName></tagName> 

Tôi biết rằng đó là như nhau, nhưng tôi muốn bắt đầu từ khóa để đóng một cách thích hợp.

+0

Điều thú vị là ai đó đã [đã khiếu nại] (http://stackoverflow.com/questions/415239/xml-serialization-empty-collections-not-self-closing) về hành vi ngược lại. Câu trả lời duy nhất chỉ ra rằng việc triển khai * không * sử dụng các thẻ tự đóng, nhưng mang hy vọng sẽ thay đổi trong các triển khai trong tương lai. Dường như nó có, và bây giờ bạn không thích nó. –

+1

Tôi không biết cách tích hợp để thay đổi hành vi này. Tại sao bạn cần phải thay đổi nó, tức là vấn đề cơ bản là gì? Có lẽ nó có thể được giải quyết theo một cách khác ... – Heinzi

Trả lời

2

Chúng giống nhau và tạo ra sự khác biệt không. Bất kỳ trình phân tích cú pháp hoặc người đọc nào hiểu được ý nghĩa, vậy tại sao điều này lại quan trọng đến vậy?

Tôi tìm thấy hành vi hiện tại tốt hơn vì nó sẽ dẫn đến các tệp nhỏ hơn.

Bất kể, không có cách nào để ghi đè hành vi này.

+5

-1 Không hoạt động khi trình phân tích cú pháp được cuộn bằng tay và bạn không có bất kỳ câu hỏi nào về cách chúng xử lý các phần tử trống. –

+3

-1 Một số ứng dụng của bên thứ ba, chẳng hạn như Quickbooks, không nhận ra thẻ tự đóng, đôi khi nó cần thiết cho mục đích tích hợp. –

+0

-1 Lệnh SQL Server 'thay thế giá trị' không hoạt động trên các thẻ tự đóng và việc xử lý cho điều này gây ra mất hiệu năng. – Lucas

Các vấn đề liên quan