Xml-Datei auslesen in C#?

3 Antworten

Von Experte Dultus, UserMod Light bestätigt

Stichworte:

  • XmlSerializer
  • XmlReader
  • LINQ to XML

Such mal danach, sind drei völlig verschiedene Herangehensweisen, XML zu lesen.

Der XmlSerializer ist sehr einfach zu nutzen und ermöglicht sehr schnelle Ergebnisse, ist aber unflexibel. Er ist im Grunde nur ein Wrapper um den XmlReader, der das XML direkt in Objekte schreiben kann.

Der XmlReader ist auf Performance und Speicheroptimierung getrimmt, aber komplex zu nutzen, da man nur von vorne bis hinten lesen kann.

LINQ to XML ist nicht super performant, da einmal alles in den RAM gelesen und dann dort durchsucht wird, doch das macht ihn sehr flexibel und angenehm zu nutzen, damit kann man bei bleibender Flexibilität übersichtlichen Code schreiben.

Der XmlSerializer ist super für kleine/einfache Anwendungsfälle, wo man nur wenig Flexibilität braucht.
Der XmlReader ist spannend, wenn es um sehr große XML-Dateien geht.
LINQ to XML ist super für den Rest.

PS:
Es gibt noch das XmlDocument, das erfüllt in etwa den selben Zweck, wie LINQ to XML, ist aber mMn. nicht so angenehm zu nutzen.

Woher ich das weiß:Berufserfahrung