|
|
|
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&msg=36062131&tid=1351769]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
44ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
| others: | 221ms |
| total: | 354ms |

| 0 / 0 |
