Ich habe eine ziemlich große XML-Datei, die ich in eine .NET-Klassenstruktur analysieren muss (um sie einem Format mit fester Länge zuzuordnen und über MQ zu übertragen). Leistung ist wichtig, aber nicht absolut kritisch.Wie groß ist der Geschwindigkeitsunterschied zwischen XPathNavigator und XmlReader wirklich?
Ich verwende fast immer XPathNavigator
zum Lesen von XML-Dateien, weil es viel einfacher ist als XmlReader
. Auf der anderen Seite, ich weiß XmlReader
ist schneller als XPathNavigator
, weil es theoretisch liest nur einen Knoten zu einer Zeit, während XPathNavigator
muss genug, um einen XPath, möglicherweise das gesamte Dokument ausführen zu lesen.
Meine Frage ist: Wie viel schneller ist es wirklich? Wird es beim Lesen von ein paar tausend Knoten einen spürbaren Unterschied machen? Was ist der Wendepunkt, an dem ich so ziemlich auf XmlReader
wechseln muss? Oder ist XPathNavigator
so optimiert, dass es immer eine gute Option ist?
Die meisten meiner XML-Erfahrung ist auf relativ kleinen Dateien, so bin ich auf der Suche nach Input von jedem, der mit großen Dateien gearbeitet hat.