2010-05-28 30 views
5

Tôi cần Xml trông như thế nàyLàm thế nào để serialize Xml này trong .NET (mảng)

<foo> 
    <bar ... /> 
    <bar ... /> 
</foo> 

Và hiện có cấu trúc lớp sau đây:

[XmlRoot("foo")] 
public class Foo 
{ 
    [XmlArrayItem("bar")] 
    public List<Bar> myBars; 
} 

Nhưng điều này mang lại cho tôi Xml nơi thanh các mặt hàng được bọc bên trong một phần tử thanh. Làm thế nào tôi nên xác định XmlAttributes tùy chỉnh của tôi vì vậy tôi muốn có được cấu trúc Xml tôi cần?

Trả lời

7

tôi phải giải quyết một cái gì đó tương tự như ngày hôm qua, và đây là giải pháp cho tôi:

[XmlRoot("foo")] 
public class Foo 
{ 
    [XmlElement("bar")] 
    public List<Bar> myBars; 
} 
3

Giải pháp tôi sử dụng là:

[XmlRoot("foo")] 
public class Foo : List<Bar> 
{ 
} 

[XmlType("bar")] 
public class Bar 
{ 
} 

Trong thực tế, tôi đã xác định Foo như một List<T> , do đó, nó hoạt động như một danh sách chung chung. Loại trong danh sách đó chỉ cần xác định thuộc tính XmlType.

+0

Chỉ có thể có một câu trả lời đúng :(Tôi muốn đánh dấu cả hai là câu trả lời đúng. – Morri

+0

Chọn tôi, chọn cho tôi! ;-) – Steven

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