Pregunta

he hecho análisis XML antes, pero nunca en una escala masiva. Si estoy trabajando con muchos documentos similares a este formato:

<?xml version="1.0" ?>
<items comment="something...">
  <uid>6523453</uid>
  <uid>94593453</uid>
</items>

¿Cuál es la manera más rápida para analizar estos documentos?
1) DOM XML
2) Serialize XML - Rehidratar a un objeto .NET
3) algún otro método

Actualizar
Olvidé mencionar que habría aproximadamente 8000 elementos uid en promedio.

¿Fue útil?

Solución

XmlReader es sin duda va a ser el método más rápido, aunque tendrá que hacer todo el análisis manualmente por supuesto. Se lee directamente de la corriente y sin almacenamiento en caché de nada, aunque no es demasiado cómodo de usar en comparación con el DOM.

Al comparar los dos sugeriste: serialización debe ser más rápido que usando el DOM ya que (creo) no almacenar en caché todo el árbol dentro de la memoria - que también tiene ciertamente una interfaz más fácil de usar, si usted está apuntando específicamente para llevar a cabo la serialización.

Otros consejos

Yo diría que la serialización XML sería lo mejor de ambos mundos. Se obtiene la facilidad de uso, así como una buena velocidad. Hay una cierta sobrecarga adicional con la serialización XML ... sin embargo si se ha utilizado XmlReader manualmente, usted por lo menos replicar, si no superar, que los gastos por su cuenta como se utiliza ese lector a volver a crear su gráfico de objetos.

En función de lo que tiene que ver con los datos de la XmlReader mencionado por @Noldorin es la mejor opción para el procesamiento estilo de streaming. Si necesita más ad-hoc el acceso a los datos de estilo utilizando XPath y el XPathDocument será mucho más rápido que el documento XML sin procesar.

http://msdn.microsoft.com/en-us/library /eh3exdc4.aspx

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top