1

Решил поюзать xaml c# , толком не разобрался ещё , но как я понял в среде разработки приложений для win10. Вопрос в следующем : есть ли возможность в xaml делать парсинг HTML страниц и выводить данные в элементы управления ? Как в win form к примеру с использованием библиотеки HTML agility pack ? И выводом в текстбокс. Если где ошибся, поправьте.

Dmitry
  • 476

1 Answers1

4

У вас смешались разные понятия.

XAML и HTML — это кардинально разные вещи, просто разные языки описания UI. Ни один из них не является подмножеством другого, они несовместимы.

XAML не занимается разбором HTML, это вообще не задача слоя UI. Для разбора HTML и извлечения из него информации вам нужен парсер этого самого HTML. Этим занимается бэкенд, и то, как именно он это делает, никак не влияет на ваш UI.

Затем, вывод информации в элементы управления. Да, если у вас есть информация (не в виде HTML-строки, разумеется, а данные), её можно вывести в WPF-контролы. Это базовая функциональность любого UI-фреймворка.


Суммируя: разбора HTML в XAML нет и быть не может, вывод разобранной как-то по-другому информации в контролы есть.

VladD
  • 206,799
  • просто мне главное получить красивый дизайн приложения. Но при этом смысл приложения состоит в парсинге с сайта и вывод уже в саму программу. Повторюсь, упор идет на дизайн - по этому и выбрал разработку приложений под win 10, с исп. XAML c#. Увидел у ребят из Microsoft Developers. Тогда может подскажешь, что лучше взять за основу для разработки а) Красивого дизайна, б) Возможность использования парсинга ( HTMLAgilitiPack / Anglesharp и т.д.) – Dmitry Jul 04 '17 at 02:41
  • 1
    @Dmitry: Для дизайна WPF/UWP/XAML самое оно. По поводу HTML, у меня в ответе ссылка на отличный обзор, к которому я не могу ничего добавить. – VladD Jul 04 '17 at 07:13
  • Да, действительно, XAML отлично подходит для конкретно графической части приложения. Но. Так как суть моего проекта в том, чтобы выводить в это приложение спарсенные данные, то я думаю, XAML здесь не подойдет. WPF тоже не очень нравится, по поводу UWP не смотрел! Спасибо за ответ! – Dmitry Jul 04 '17 at 07:15
  • Перечитал ваш ответ, я думаю вы меня не правильно поняли, либо я вас не правильно понял. в XAML можно ведь использовать какие то библиотеки для парсинга ? Вы написали, что парсить самим XAML, я не это имел в виду. А как в windows forms, добавляем библиотеку, которая будет заниматься парсингом, и парсим. Далее уже выводим то, что получилось в какой то элемент управления. – Dmitry Jul 04 '17 at 07:27
  • @Dmitry можно узнать чем вам WPF не понравился? –  Jul 04 '17 at 07:44
  • @FoggyFinder Цель моего проекта, создать так скажем программу по просмотру/обработке заявок, которые переодически приходят. Есть сайт, на котором все это реализовано, но - 1) не удобно все сделано. 2) Стиль и дизайн всех этих таблиц мне не нравится лично. - Решил сделать свое, со своим дизайном. XAML мне понравился, но возможно ли там добавить какие то библиотеки, типа HtmlAgilityPack, и выводить данные в тот же текстбокс, на как винформс. WPF похож на Windows Forms и вариант не совсем интересный, но посмотрю и в эту сторону. – Dmitry Jul 04 '17 at 07:55
  • @Dmitry В WPF используется XAML для GUI части. Ваша программа будет только для пользователей Windows? –  Jul 04 '17 at 07:57
  • @Dmitry XAML - это просто язык разметки, он компилируется, также как и C#, VB и другие языки .NET. За счет своей декларативности, XAML позволяет проще создавать "рюшечки и красивости" в интерфейсе, но ни сколько не ограничивает использование каких либо библиотек .NET с необходимой обвязкой C# кодом (или другим языком .NET). Ну и да, XAML не является полностью самостоятельным языком, обвязка в виде C# кода в большинстве случаев просто необходима. – rdorn Jul 04 '17 at 08:01
  • @rdorn просто я попытался добавить в ссылки библиотеку HtmlAgiityPack - и он мне про какой то NETCore и NetFramework ошибку выдал. – Dmitry Jul 04 '17 at 08:03
  • @FoggyFinder Да, только для пользователей windows. – Dmitry Jul 04 '17 at 08:04
  • @Dmitry Эм... ну .NET core и .NET framework это разные платформы, и совместимы они весьма условно, хотя, я бы сказал, не совместимы совсем. Библиотеки для них тоже разные. Собственно ваш проект и подключаемые библиотеки должны быть для одной платформы. – rdorn Jul 04 '17 at 08:06
  • @Dmitry: Теперь я не понял вашего вопроса. XAML не является отдельным языком программирования, поэтому фраза «в XAML можно ведь использовать какие то библиотеки для парсинга» как-то не строит. Не бывает «приложений на XAML», бывают приложения на C#, у которых UI-часть использует XAML как язык разметки. – VladD Jul 04 '17 at 08:06
  • 1
    @Dmitry: WPF совсем не похож на WinForms. Это как раз WPF использует XAML (ну и ещё UWP, который по сути просто другая реализация WPF). Давайте разберёмся в терминологии: C# — язык программирования, WinForms и WPF/UWP — UI-фреймворки, XAML — язык разметки, используемый в WPF/UWP. – VladD Jul 04 '17 at 08:09
  • @VladD я так понимаю, все же можно попробовать использовать WPF, подключить библиотеку HtmlAgilityPack и наслаждаться и дизайном, и работой? Я делал что-то с Universal Windows Project. – Dmitry Jul 04 '17 at 08:17
  • @Dmitry: Именно так. В бэкэнде HtmlAgilityPack, например, в UI WPF (или UWP, в зависимости от целевой платформы) с XAML. – VladD Jul 04 '17 at 08:37
  • @VladD Я использовал C# - Windows Store - Blank App (XAML) , это я так понимаю для разработки приложений конкретно под Windows 10, если не так, поправьте. WPF не сильно отличается, если вообще отличается. Буду его использовать! Спасибо всем! – Dmitry Jul 04 '17 at 08:41
  • @Dmitry: Это по идее UWP, ну и да, очень похоже на WPF, практически одно и то же. – VladD Jul 04 '17 at 08:42
  • @VladD: Спасибо огромное за помощь! И всем, кто участвовал ! – Dmitry Jul 04 '17 at 08:47
  • @Dmitry: Пожалуйста! Удачи вашему проекту! – VladD Jul 04 '17 at 08:50