Analysiere XML mit LINQ to XML, um Objekte zu klassifizieren

8

Ich habe

%Vor%

und die Klasse

%Vor%

Kann ich mit der LINQ-Abfrage diese Komponenten zu Objekten analysieren? Wie? Ich sollte am Ende ein IEnumerable haben, oder?

BEARBEITEN

%Vor%     
Pedro Dusso 07.12.2011, 14:48
quelle

2 Antworten

19

Sie können Folgendes verwenden:

%Vor%

BEARBEITEN

Der Zugriff auf verschachtelte Elemente mit Linq to Xml ist ebenfalls möglich:

%Vor%     
Wouter de Kort 07.12.2011, 14:57
quelle
4

Mir ist klar, dass dies ein alter Post ist, aber ich habe kürzlich etwas in XML gelesen. Ich war nicht scharf auf Linq zu XML - es ist nicht sehr lesbar, beruht auf "magischen Zeichenfolgen" und erfordert Codeänderungen, wenn sich das XML-Schema ändert.

Für alle Interessierten verwende ich die XmlSerializer -Klasse, um das XML in Objekte zu deserialisieren. Setzen Sie den Deserialisierungscode in eine generische Hilfsmethode und voilà - eine Zeile Code, um eine XML-Datei in ein Objektdiagramm zu deserialisieren: -

%Vor%

Ein paar Vorbehalte: -

Diese Lösung beruht offensichtlich darauf, die Domänenmodelle mit XML-Attributen zu dekorieren, die für Sie akzeptabel sind oder nicht. Die Lösung basiert auch auf einem äußeren Element, das im XML vorhanden ist, und funktioniert nicht, wenn das Stammelement ein Array ist ( <Points> in diesem Beispiel).

Es ist nicht möglich, IEnumerable<> anzugeben (was das OP erwähnt hat); Sie können Arrays oder List<> verwenden.

    
Andrew Stephens 01.04.2014 10:47
quelle

Tags und Links