2012-02-17 32 views
9

Tôi mới dùng C# và tôi đang cố gắng đọc một tệp XML và chuyển nội dung của nó sang (các) đối tượng C#.Cách ánh xạ nội dung tệp XML cho đối tượng C#

ví dụ: Một tập tin XML ví dụ có thể là:

<people> 
     <person> 
      <name>Person 1</name> 
      <age>21</age> 
     </person> 
     <person> 
      <name>Person 2</name> 
      <age>22</age> 
     </person> 
    </people> 

.. có thể được ánh xạ tới một mảng của C# lớp được gọi là 'Người':

Person[] people; 

Trong trường hợp đối tượng Person có thể chứa các lĩnh vực sau:

string name; 
    uint age; 

Trả lời

14

Có vẻ như bạn muốn sử dụng tuần tự hóa XML. Có rất nhiều đã có, nhưng đây là một ví dụ khá đơn giản. http://www.switchonthecode.com/tutorials/csharp-tutorial-xml-serialization

Đoạn bạn muốn là khoảng 1/4 của các con đường xuống:

XmlSerializer deserializer = new XmlSerializer(typeof(List<Movie>)); 
TextReader textReader = new StreamReader(@"C:\movie.xml"); 
List<Movie> movies; 
movies = (List<Movie>)deserializer.Deserialize(textReader); 
textReader.Close(); 

Hy vọng rằng, điều này giúp

+1

Các liên kết đến mã xml-serialization mẫu hiện không còn tồn tại ... quá tệ. Tôi nghĩ rằng đây là lý do tại sao mọi người không khuyến khích liên kết đến các trang web bên ngoài trên stackoverflow - nhưng tôi cũng là một người phạm tội trước đây của fopaux này vì vậy tôi không thực sự nói chuyện. – nocarrier

+0

Tôi đã đăng mã thích hợp trong trường hợp liên kết bị chết. Ngoài ra, bạn có thể hoặc là google mã cho phần còn lại hoặc thậm chí thử máy rút tiền - https://web.archive.org/web/20130921190426/http://tech.pro/tutorial/798/csharp-tutorial-xml -serialization Tôi không thấy bất kỳ vấn đề nào ở đây .... –

+1

http://web.archive.org/web/20130921190426/http://tech.pro/tutorial/798/csharp-tutorial-xml-serialization - wayback liên kết máy – SacredSkull

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