|
LINQ XML, быстрый поиск элемента по имени и атрибуту
|
|||
---|---|---|---|
#18+
здравствуйте заполняю дерево, перед добавлением листа надо найти для него родительский узел (по имени и значению атрибута), если такой узел не найден, то его тоже надо создать. важна скорость, что посоветуете? пробовал такие варианты (XElement skillNode - искомый/добавляемый родительский узел, XElement treeRoot - корень дерева): 1. через xpath, способ самый красивый, но очень тормозной Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
2. через лямбду, быстрее в два раза, но приходится обрабатывать исключение и, что главное, все равно недостаточно быстрый: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
3. через селект, скорость как у первого способа, так еще и выглядит громоздко Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2009, 12:52 |
|
LINQ XML, быстрый поиск элемента по имени и атрибуту
|
|||
---|---|---|---|
#18+
4. ручной перебор, еще немного быстрее чем вариант №2. но недостаточно Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2009, 16:50 |
|
|
start [/forum/topic.php?fid=17&gotonew=1&tid=1351769]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
25ms |
get topic data: |
11ms |
get first new msg: |
7ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 274ms |
total: | 396ms |
0 / 0 |