Каков наиболее производительный код для строки XML для объектов - PullRequest
1 голос
/ 23 августа 2011

Я пытаюсь оптимизировать некоторый существующий код (где скорость является основным критерием), который загружает строку xml в XmlDocument, а затем получает такие значения, как

XmlNodeList listaa = xmlDoc.GetElementsByTagName("aa");
if (listaa.Count > 0)
                myObj.aa = Convert.ToDouble(listaa[0].InnerText);

и т. Д.

хотя вышеприведенное явно не лучший подход, интересно, есть ли что-то новое в .net 4.0, которое могло бы улучшить скорость и, возможно, читабельность?

спасибо

Примечание - строки xmlразмером примерно 100-200 байт, поэтому при использовании xmlreader не так много улучшений производительности по сравнению с чтением в xmldocument!

Ответы [ 2 ]

3 голосов
/ 23 августа 2011

Самый быстрый подход - использовать старый и известный XmlReader. Хотя читаемость вашего кода будет хуже, но вы получите самую высокую производительность.

1 голос
/ 23 августа 2011

Вы можете использовать XML сериализация .Это довольно эффективно, потому что он генерирует сборки сериализации и использует их повторно (вы можете предварительно сгенерировать сборки для лучшей производительности при первом запуске)

...