Поиск в папках HTML для строки, созданной пользователем.

0

Visual Studio 2010, Visual Basic.NET

Я работаю над программой, в которой содержится оглавление JSON и элемент управления WebBrowser, который отображает только html, который мы им предоставили. Теперь мне нужно дать им возможность искать строки внутри html. Не только открытая html-страница в объекте WebBrowser, но и вся группа html файлов, находящихся в разных папках.

Существует основная папка с несколькими папками. Каждая из этих папок содержит только одну папку. Но внутри этой папки есть несколько html файлов. (Не уверен, что знание структуры папок вообще поможет)

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

Теги:
visual-studio-2010

1 ответ

0
Лучший ответ

Поскольку html файлы - это просто текстовые файлы, вы можете использовать этот подход.
Чтобы создать этот пример, я создал 2 каталога в каталоге c:\temp, я назвал их InHere и ChildofInHere. Я положил ChildofInHere в InHere, очевидно. Затем я добавил файл SomeFile.html и просто поместил в него слово "Cheese". Вот код, который я тогда создал и побежал против него.

Private _TextFound As Boolean = False
Private Sub Button10_Click(sender As System.Object, e As System.EventArgs) Handles Button10.Click
    FindTheText("C:\temp\InHere", "cheese")
    MessageBox.Show(_TextFound)
End Sub

Private Sub FindTheText(sDirToLookIn As String, sTextToFind As String)
    If IO.Directory.Exists(sDirToLookIn) Then
        Dim di As New IO.DirectoryInfo(sDirToLookIn)
        For Each dii As IO.DirectoryInfo In di.GetDirectories
            FindTheText(dii.FullName, sTextToFind)
        Next
        If IO.File.Exists(sDirToLookIn & "\SomeFile.html") Then
            If IO.File.OpenText(sDirToLookIn & "\SomeFile.html").ReadToEnd.Contains(sTextToFind) Then
                _TextFound = True
            End If
        End If
    End If
End Sub

.NET упрощает работу с файлами и каталогами. Надеюсь это поможет.

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню