Разобрать строки URL в иерархию деревьев - PullRequest
2 голосов
/ 03 апреля 2009

У меня есть таблица заголовков, в которой есть список веб-страниц. У каждой записи есть поле URL страницы, которое я ищу, чтобы разобрать в иерархию (TreeView). Я не уверен в лучшем способе сделать это, и у меня возникла проблема с тем, чтобы заставить его работать.

Вот пример URL-адресов:

/file1.aspx
/file2.aspx
/aFolder/file.aspx
/aFolder/file2.aspx
/bfolder/file.aspx
/bFolder/cFolder/file.aspx

Я хочу поместить этот тип списка в древовидную структуру стиля проводника, чтобы вы могли развернуть папки и затем выбрать файл в конце.

Что-то вроде

--Root
  |
  +-aFolder
  |   - aFolderFile1.aspx
  |   - aFolderFile2.aspx
  +-bFolder
      +-cFolder
      |    -cFolderFile1.aspx
      -bFolderFile1.aspx

Реальные данные, очевидно, содержат больше подпапок и файлов в каждой.

Мне нужен какой-то код, будь то .NET или SQL для анализа моих строк. Я пытался использовать некоторый SQL, который использовал WITH и UNION ALL , но я просто не могу заставить его работать на меня.

Чтобы связать его с TreeView, у источника данных должно быть родительское поле, чтобы связать узлы. Так, например, родительский элемент для файла cFolderFile1.aspx - это cFolder, а cFolder имеет родительский элемент для bFolder и т. Д ....

Надеюсь, я включил достаточно информации. Если нет, пожалуйста, дайте мне знать, и я отредактирую сообщение.

Ответы [ 2 ]

0 голосов
/ 04 апреля 2009

Спасибо за предложения всем. Казалось, что ни одна из ссылок не была именно тем, что я искал, поэтому я в итоге что-то соединил.

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

Поскольку в списке URL-адресов не было никакого родительского идентификатора / дочернего идентификатора, я использовал функцию FIND и получил нужные мне кусочки.

0 голосов
/ 03 апреля 2009

Я уверен, что вы можете привязать SqlDataSource непосредственно к древовидной структуре .NET. Вот два форума, которые освещают это:

Построение древовидной структуры из SqlDataSource

Динамическое дерево

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...