Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
 Аватар для LMM
56 / 56 / 2
Регистрация: 17.02.2011
Сообщений: 234
Записей в блоге: 10

Поиск HTML элемента по ID - Не JQ/JS

04.11.2023, 18:49. Показов 2292. Ответов 24
Метки html (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет.

Помогите, пожалуйста с поиском html элемента по ID на своей же странице. Т.е. у меня есть web проект в vb.net, нужен код именно vb.net (не JS/JQ или C#), т.к. дальше я буду делать обращение к бд и т.д.
Весь гугл изрыл, но находится лишь как это сделать на JS/JQ/C#... или для win form, но это все не то...
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.11.2023, 18:49
Ответы с готовыми решениями:

Изменить color одного элемента html если id второго элемента html сейчас в УРЛ-страницы
Доброго времени! Подскажите код JS позволяющий изменить color одного элемента html если id второго элемента html сейчас в УРЛ-страницы. ...

Поиск в listview с сохранением позиции элемента и открытия нужного html файла
Реализован поиск в ListView через Edit, находит нужный элемент списка, но при клике и переходе на другое Activity открывает не...

Вставка элемента в заданную позицию, удаление элемента по заданной позиции, поиск заданного элемента
Добавить в класс "Односвязный список" следующие функции: вставка элемента в заданную позицию, удаление элемента по заданной позиции, поиск...

24
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18428 / 14358 / 5372
Регистрация: 17.03.2014
Сообщений: 29,039
Записей в блоге: 1
07.11.2023, 00:13
Студворк — интернет-сервис помощи студентам
Hell666, рад слышать что у вас есть опыт парсинга, но похоже вы все еще не понимаете почему WebView2 здесь не подходит.

По сути это обертка над браузером. Значит он потребует больше ресурсов по сравнению с LINQ2XML. Нам не требуется поддержка всех веб-технологий. Достаточно только DOM и XPath. LINQ2XML это обеспечивает. А если у нас большой документ, то мы можем переключиться на SAX модель работы с XML и еще сильнее сэкономить.

У WebView2 также есть ограничения которые могут помешать его применению в веб-приложении - запуск внутри STA потока и цикл опроса сообщений.
The WebView2 control is based on the Component Object Model (COM) and must run on a Single Threaded Apartments (STA) thread.

The WebView2 must be created on a UI thread that uses a message pump. All callbacks occur on that thread, and requests into the WebView2 must be done on that thread. It isn't safe to use the WebView2 from another thread.
Значит как минимум потребуется отдельный поток специально для WebView2 или out-of-process хостинг. Считайте дополнительное усложнение кода.

Далее раз это веб-приложение, то следует задуматься о его доступности на сервере. Если у нас Server Core редакция Windows Server, то Microsoft Edge и WebView2 будет недоступен для установки и использования. Это же верно и для консольного варианта который с запуском по расписанию, потому что он скорее всего будет запускаться на том же сервере.

Ну и наконец WebView2 можно использовать только под Windows. И несмотря на то что ТС использует .NET Framework, все равно лучше избегать лишних зависимостей от конкретной ОС.

То есть WebView2:
- Усложняет код;
- Использует больше ресурсов;
- Предъявляет особые требования по многопоточности;
- Работает только под Windows, и то не везде.

Получается стрельба из пушки по воробьям.
0
148 / 70 / 12
Регистрация: 11.02.2017
Сообщений: 310
07.11.2023, 06:29
Очень много если. Но это ваше дело. Если стреба из пушки по воробьям прносит результа, то оно того стоит. Не?
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18428 / 14358 / 5372
Регистрация: 17.03.2014
Сообщений: 29,039
Записей в блоге: 1
07.11.2023, 08:30
Hell666, в каком-то другом случае возможно, но не в этом.
0
 Аватар для LMM
56 / 56 / 2
Регистрация: 17.02.2011
Сообщений: 234
Записей в блоге: 10
09.11.2023, 16:14  [ТС]
OwenGlendower, Спасибо за помощь. Я конечно хотел немного по другому реализовать эту функцию именно из web-form, но посмотрев на возможную реализацию этого всего дела - понял, что овчинка выделки не стоит. Консольное решение в шедулере неплохой вариант. Можно даже по идее из web form дергать принудительный запуск задачи из менеджера задач (если не путаю...).

В любом случае спасибо всем за помощь и потраченное время. (плюсики поставил )

Бтв, хотел бы отметить здесь для тех, кто придет, что обычно у любой xml есть пространство имен, которое нужно бы объявить, перед поиском элементов в нем.

VB.NET
1
2
Dim namespaceManager As New XmlNamespaceManager(xmlReader.NameTable)
namespaceManager.AddNamespace("svg", "http://www.w3.org/2000/svg")
Что бы все работало как надо, надо объявить так же xmlReader.
Тогда весь код из примера OwenGlendower, будет выглядеть так:

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
Dim svgPath As String = "Полный путь до файла svg"
Dim xmlReader As XmlReader = XmlReader.Create(svgPath)
Dim xdoc As XDocument = XDocument.Load(xmlReader)
Dim namespaceManager As New XmlNamespaceManager(xmlReader.NameTable)
namespaceManager.AddNamespace("svg", "http://www.w3.org/2000/svg")
Console.WriteLine("Понеслась...")
For Each xElPath In xdoc.XPathSelectElements("//svg:path", namespaceManager)
    Dim id As String = xElPath.Attribute("id").Value
    Dim d As String = xElPath.Attribute("d").Value
    Console.WriteLine("{0}: {1}", id, d)
Next
Console.ReadKey() 'для паузы, что бы прочитать вывод
Так же, хочу отметить, что абсолютно не важно какое имя Вы напишите в пространстве имен, вот вообще не важно от слова совсем, главное напишите в 2ух местах одинаково. Хоть "bla" - всё равно будет работать

VB.NET
1
2
namespaceManager.AddNamespace("bla", "http://www.w3.org/2000/svg")
For Each xElPath In xdoc.XPathSelectElements("//bla:path", namespaceManager)
P.S. Тему можно закрывать ^_^
1
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18428 / 14358 / 5372
Регистрация: 17.03.2014
Сообщений: 29,039
Записей в блоге: 1
09.11.2023, 16:54
Цитата Сообщение от LMM Посмотреть сообщение
Спасибо за помощь. Я конечно хотел немного по другому реализовать эту функцию именно из web-form,
Пожалуйста. Из веб-формы это тоже несложно сделать если подавать на вход тоже XML файл, а не пытаться добраться до HTML. Зависит от того какой здесь сценарий - "статический" или "динамический". Под "статическим" я понимаю сценарий когда на странице выводится SVG файл с сервера и это файл не меняется пользователем. В "динамическом" сценарии соответственно пользователь может изменять его. В первом случае всё просто - мы знаем путь к файлу на серверу и уже знаем как парсить его. Во втором случае нужно отправлять весь SVG или только его нужные части на сервер. Если вы наконец-то опишите как работает ваше веб-приложение, то вам предложат более подходящее решение.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.11.2023, 16:54

Выполнить поиск, указанного пользователем элемента, двумя методами: применив последовательный поиск и бинарный поиск
написать программу в паскале 4) Любым способом задать отсортированный массив. Выполнить поиск, указанного пользователем элемента,...

Составить алгоритм определения суммы минимального элемента и первого элемента массива от 1 до 5 на HTML
Составить алгоритм определения суммы минимального элемента и первого элемента массива от 1 до 5 на HTML

Как изменить через JS color одного элемента HTML если id второго элемента сейчас в URL?
Доброго времени суток! Подскажите ,пожалуйста, код JS с помощью которого можно изменить color одного элемента HTML если id второго...

Поиск в HTML если html сидит в переменной
Всем привет! Нестандартный вопрос. планирую сделать на ноде что-то типа такого: сливаю html страницы в переменную, и в этой...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации: 1. Вернуть возможность использования знаков | 1 l I;. . .
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С. Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию? Фраза «Любая достаточно развитая технология неотличима от магии». . .
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль? Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология. «Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru