Ho un file XML abbastanza grande che ho bisogno di analizzare in una struttura di classe .NET (per essere mappato su un formato di record a lunghezza fissa e trasmesso via MQ). Le prestazioni sono importanti, ma non assolutamente critiche.Quanto è grande la differenza di velocità tra XPathNavigator e XmlReader, davvero?
Quasi sempre utilizzo XPathNavigator
per leggere file XML perché è molto più semplice di XmlReader
. D'altra parte, so che XmlReader
è più veloce di XPathNavigator
, perché teoricamente legge solo un nodo alla volta mentre XPathNavigator
deve leggere abbastanza per eseguire un XPath, possibilmente l'intero documento.
La mia domanda è: quanto più veloce è davvero? Farà una differenza notevole leggendo alcune migliaia di nodi? Qual è il punto di svolta in cui devo praticamente passare a XmlReader
? O è XPathNavigator
ottimizzato al punto che è sempre una buona opzione?
La maggior parte della mia esperienza XML è su file relativamente piccoli, quindi sto cercando input da chiunque abbia lavorato con file di grandi dimensioni.