IRONSOFTWAREHOME
AKTUALNOŚCI DLA PROGRAMISTÓW

Html Agility Pack C# (jak to działa dla programistów)

Jacob Mellor, Dyrektor Technologiczny @ Team Iron
Jacob Mellor
Updated: 23 kwietnia 2026

Potrzeba dynamicznego zarządzania i manipulowania zawartościa dokumentów jest powszechna w świecie rozwoju C#. Deweloperzy często polegają na solidnych bibliotekach, aby zautomatyzowac działania takie jak tworzenie raportow PDF i pobieranie danych ze stron internetowych. Artykul ten omawia prosta integracje IronPDF i HTML Agility Pack w C# i zawiera przykłady kodu, które pokazują, jak te biblioteki mogą być wykorzystywane do bezproblemowego tworzenia dokumentów PDF i odczytywania tekstu HTML.

IronPDF to bogata w funkcje biblioteka .NET do pracy z plikami PDF. Poniewaz IronPDF pozwala deweloperom dynamicznie generować pliki PDF z zawartości HTML, URL-i lub danych surowych, sluzy jako cenne narzędzie do tworzenia dokumentów, raportowania i wizualizacji danych.

Aby usprawnic generowanie dokumentów w aplikacjach .NET, przyjrzymy sie, jak połączyć IronPDF z HTML Agility Pack w tym poscie. Połączenie tych technologii pozwala programistom na prace z zdalnymi systemami, generowanie dynamicznych stron PDF i pobieranie danych przez połączenia sieciowe, jednoczesnie zwiększając produktywnosc i skalowalnosc w ich programach.

How to Use HtmlAgilityPack in C#

  1. Utworz nowy projekt C#.
  2. Zainstaluj biblioteke HtmlAgilityPack.
  3. Zaimportuj przestrzen nazw. Utworz obiekt.
  4. Zaimportuj dane z URL-a i zanalizuj HTML.
  5. Pobierz wymagane dane i usun obiekt.

Wprowadzenie do HtmlAgilityPack

HTML Agility Pack to wszechstronna i potężna biblioteka do analizy HTML dla programistów .NET. Dzięki bogatej kolekcji API, deweloperzy mogą łatwo nawigowac, zmieniac i pobierac dane z dokumentów HTML. HTML Agility Pack ułatwia prace z zawartościa HTML programistom na kazdym poziomie zaawansowania.

Zdolnosc HTML Agility Pack do łagodnego zarządzania nieprawidłowo zorganizowanym lub wadliwym HTML-em jest tym, co czyni go wyjątkówym. Jest idealny do operacji skrobania online, gdzie jakosc znacznikow HTML może sie roznic, poniewaz używa elastycznego algorytmu analizy, który może przetwarzać nawet najbardziej zle skonstruowany HTML.

Funkcje HtmlAgilityPack

Analiza HTML

Dzięki potężnym funkcjom analizy HTML oferowanym przez HTML Agility Pack, programisci mogą ladawac dokumenty HTML z różnych zrodel, w tym plików, URL-i i ciagow. Dzięki elastycznemu podejsciu do analizy, może lagodnie obsługiwac blednie sformatowany lub niepoprawny HTML, co czyni go odpowiednim do działalnosci skrobania sieciowego, gdzie jakosc znacznikow HTML może sie roznic.

Manipulacja DOM

Do eksploracji, przeglądania i pracy z struktura modelu obiektu dokumentu HTML (DOM), HAP oferuje przyjazne dla użytkownika API. Elementy HTML, atrybuty i wezly tekstowe mogą być programowo dodawane, usuwane lub modyfikowane przez deweloperow, pozwalając na dynamiczna manipulacje zawartościa HTML.

Obsluga XPath i LINQ

Do wybierania i zapytan komponentow HTML, HTML Agility Pack obsługuje LINQ (Language Integrated Query) oraz wyszukiwania wedlug skladni XPath. Zapytania wyrazenia XPath oferuja silna i łatwa w zrozumieniu skladnie do wyboru elementow w dokumencie HTML w zależności od ich atrybutow, tagow lub hierarchii. Dla deweloperow przyzwyczajonych do pracy z LINQ w C#, zapytania LINQ oferuja znana skladnie zapytan, która ułatwia gladkie zintegrowanie z innymi komponentami .NET.

Rozpoczynanie pracy z HtmlAgilityPack

Konfiguracja HtmlAgilityPack w projektach C#

Biblioteka bazowa HtmlAgility jest dostarczana w jednym pakiecie, ktory powinien być dostępny w NuGet po jego zainstalowaniu i może być używany w projekcie C#. Oferuje parser HTML i selektory CSS z dokumentu HTML i adresow URL HTML.

Implementacja HtmlAgilityPack w konsoli i formularzach Windows

Wiele typow aplikacji C#, takich jak Windows Forms (WinForms) i Windows Console, implementuje HtmlAgilityPack. Chociaż implementacja rozni sie w zależności od frameworka, podstawowa idea pozostaje niezmienna.

Html Agility Pack C# (Jak to działa dla programistów): Rysunek 1 - Wyszukaj HtmlAgilityPack za pomocą Menedżera pakietów NuGet i zainstaluj go

Przykład HtmlAgilityPack w C#

Jednym z najwazniejszych narzędzi w skrzynce narzędziowej programisty C# do nawigacji, przetwarzania i pracy z dokumentami HTML jest HTML Agility Pack (HAP). Pobieranie danych z stron HTML jest ulatwione przez przyjazne dla użytkownika API, ktore działa jak zorganizowane drzewo elementow. Przyjrzyjmy sie prostemu przykładówi kodu, aby pokazac, jak można go uzyc.

using HtmlAgilityPack;

// Load HTML content from a file or URL
HtmlWeb web = new HtmlWeb();
var doc = web.Load("https://ironpdf.com/");

// Select specific html nodes and parse html string
HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes("//h1[@class='product-homepage-header product-homepage-header--ironpdf']");

// Iterate through selected nodes and extract content
foreach (HtmlNode node in nodes)
{
    Console.WriteLine(node.InnerText);
}
Console.ReadKey();

W tym przykładzie ladujemy material wezla HTML z URL za pomocą HTML Agility Pack. HTML jest następnie ładowany do var doc w celu analizy składniowej i manipulacji. Aby wyodrębnić zawartość, program najpierw identyfikuje wezel głównego dokumentu HTML, a następnie specyficznie celuje w wezly wewnątrz dokumentu za pomoca zapytan XPath. Z powyzszej modyfikacji kodu, celujemy konkretnie w elementy div z klasa product-homepage-header z ciągu danych HTML, a następnie tekst wewnętrzny kazdego wybranego wezla jest drukowany na konsoli.

Html Agility Pack C# (Jak to działa dla programistów): Rysunek 2 - Wyodrębniony tekst z pobierania wewnętrznego tekstu klasy product-homepage-header

Operacje HtmlAgilityPack

Transformacja HTML

Programisci mogą wykonywać kilka przeksztalcen i manipulacji tekstow HTML za pomoca HTML Agility Pack. Obejmuje to operacje takie jak dodawanie, usuwanie lub zmiana wezlow tekstowych, elementow i atrybutow, a także reorganizowanie hierarchii DOM dokumentu HTML.

Rozszerzalność

Poniewaz HAP jest przeznaczony do rozszerzania, programisci mogą dodawac nowe funkcje i zachowania, aby zwiększyć jego funkcjonalność. Korzystajac z dostarczanego API, deweloperzy mogą projektowac własne parsery HTML, filtry lub manipulatory, aby dostosować HAP do swoich unikalnych potrzeb i przypadkow użycia.

Wydajnosc i efektywność

Duze teksty HTML mogą być dobrze obsługiwane przez algorytmy i struktury danych HTML Agility Pack, które są zoptymalizowane dla szybkości i efektywności. Zapewnia szybka i responsywna analize zawartości HTML i manipulacje, minimalizujac zużycie pamięci i obciazenie przetwarzania.

Integrating HtmlAgilityPack with IronPDF

Uzycie IronPDF z HtmlAgilityPack

Mozliwosci zarządzania dokumentami i tworzenia raportow sa nieskonczone, gdy HTML Agility Pack i IronPDF dla konwersji PDF sa polaczone. Za pomoca HTML Agility Pack do analizy HTML i dokumentacji IronPDF do konwersji PDF, programisci mogą zautomatyzowac tworzenie dokumentów PDF z dynamicznej zawartości online bez zadnych trudności.

Zainstaluj IronPDF

  • Uruchom projekt Visual Studio.
  • Wybierz "Narzędzia" > "Menedżer pakietów NuGet" > "Konsola Menedżera pakietów".
  • Wprowadz to polecenie do konsoli Menedżera pakietów:

PM > Install-Package IronPdf

  • Alternatywnie, można użyć Menedżera Pakietów NuGet dla Rozwiązań, aby zainstalować IronPDF.

  • Można przeglądać wyniki wyszukiwania pakietu IronPDF, wybrać go, a następnie kliknąć przycisk "Zainstaluj". Visual Studio zajmie się instalacją i pobieraniem za Ciebie.

    Html Agility Pack C# (How It Works For Developers): Figure 3 - Install IronPDF using the Manage NuGet Package for Solution by searching "IronPDF" in the search bar of NuGet Package Manager, then select the project and click on the Install button.

  • NuGet zainstaluje pakiet IronPDF i wszelkie wymagane zależności dla twojego projektu.

  • Po zainstalowaniu IronPDF można uzyc go dla swojego projektu.

Zainstaluj za pośrednictwem strony internetowej NuGet

Aby dowiedzieć się więcej o funkcjach, kompatybilności i innych możliwościach pobierania IronPDF, zobacz jego Informacje o pakiecie NuGet IronPDF na stronie NuGet.

Wykorzystaj bibliotekę DLL do instalacji

Alternatywnie można użyć pliku DLL IronPDF, aby zintegrować go bezpośrednio z projektem. Kliknij ten Pobierz DLL IronPDF, aby uzyskać plik ZIP zawierający DLL. Po rozpakowaniu, włącz DLL do swojego projektu.

Wdrażanie logiki

Poprzez integracje funkcji obu bibliotek, HTML Agility Pack (HAP) i IronPDF można zaimplementowac w C#, aby odczytywać informacje HTML i tworzyć dokumenty PDF na bierzaco. Kroki implementacji sa wymienione poniżej, wraz z przykładówym kodem, ktory przechodzi przez kazdy krok:

  1. Laduj zawartość HTML za pomoca HTML Agility Pack: Uzyj HTML Agility Pack, aby załadować material HTML z zrodla, takiego jak plik, ciag lub URL. W tej fazie HTML dokumentówany jest i tworzony jest obiekt dokumentu HTML, ktorym można manipulowac.
  2. Wyodrebnij Pozadana Zawartosc: Uzyj HTML Agility Pack w połączeniu z zapytaniami XPath lub LINQ, aby wybrac i wyodrębnij konkretna zawartość z dokumentu HTML. To może obejmowac wybieranie elementow wedlug ich właściwości, tagow lub struktury hierarchicznej.
  3. Konwersja HTML do PDF za pomoca IronPDF: Uzyj IronPDF, aby utworzyć dokument PDF z pobranej zawartości HTML. IronPDF łatwo konwertuje material HTML do formatu PDF, zachowujac styl i uklad.
  4. Opcjonalnie: Dostosowanie wygladu PDF: Uzyj IronPDF, aby dodac nagłówki, stopki, numerowanie stron i inne dynamiczne komponenty, aby dostosować wynikowe wyglad PDF w zależności od potrzeb. Ten krok poprawia wyglad i uzytecznosc wynikowego dokumentu PDF.
  5. Zapisz lub Wyslij Dokument PDF: Utworzony dokument PDF może być przesylany bezpośrednio do klienta lub przeglądarki do pobrania, lub może być zapisany w pliku. IronPDF oferuje sposoby zapisania plików PDF do róznych strumieni wyjsciow.
using HtmlAgilityPack;
using IronPdf;
using System;
using System.Text;

class Program
{
    static void Main()
    {
        StringBuilder htmlContent = new StringBuilder();

        // Load HTML content from a file or URL
        HtmlWeb web = new HtmlWeb();
        HtmlDocument doc = web.Load("https://ironpdf.com/");
        
        // Select specific elements using XPath or LINQ
        HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes("//h1[@class='product-homepage-header product-homepage-header--ironpdf']");

        // Iterate through selected nodes and extract content
        foreach (HtmlNode node in nodes)
        {
            htmlContent.Append(node.OuterHtml);
            Console.WriteLine(node.InnerText);
        }

        // Convert HTML content to PDF using IronPDF
        var Renderer = new HtmlToPdf();
        var PDF = Renderer.RenderHtmlAsPdf(htmlContent.ToString());

        // Save PDF to file
        PDF.SaveAs("output.pdf");
        Console.WriteLine("PDF generated successfully!");
        Console.ReadKey();
    }
}

Odwiedz Uzycie IronPDF do Konwersji, aby dowiedziec sie więcej o przykładzie kodu.

Html Agility Pack C# (Jak to działa dla programistów): Rysunek 4 - Strona główna IronPDF

Poniżej przedstawiono wynik działania:

Przykładowy wynik z powyższego kodu

Wnioski

Niezaleznie od tego, czy analizujesz dane HTML, czy tworzysz raporty PDF, deweloperzy mogą łatwo zarzadzać i zmieniac zawartość dokumentów dzięki plynnemu zintegrowaniu HTML Agility Pack i IronPDF w C#. Deweloperzy mogą łatwo i dokladnie zautomatyzowac operacje powiazane z dokumentami, łącząc funkcje produkcji PDF z IronPDF z możliwościami analizy HTML Agility Pack. Połączenie tych dwóch bibliotek zapewnia silne rozwiązanie do zarządzania dokumentami w C#, niezależnie od tego, czy budujesz dynamiczne raporty czy pobierasz dane ze stron internetowych.

Licencja wieczysta, rok utrzymania oprogramowania i aktualizacja biblioteki są zawarte w pakiecie $999 Lite. IronPDF oferuje bezpłatną licencję z ograniczeniami czasowymi i dotyczącymi redystrybucji. Podczas okresu próbnego, użytkownicy mogą ocenias rozwiązanie bez widocznego znaku wodnego. Przejdz do informacji o licencjonowaniu IronPDF, aby dowiedziec sie więcej o kosztach i licencji.

Dowiedz sie więcej o bibliotekach Iron Software.

Jacob Mellor, Dyrektor Technologiczny @ Team Iron
Dyrektor ds. technologii

Jacob Mellor jest Chief Technology Officer w Iron Software i wizjonerskim inżynierem, pionierem technologii C# PDF. Jako pierwotny deweloper głównej bazy kodowej Iron Software, kształtuje architekturę produktów firmy od jej początku, przekształcając ją wspólnie z CEO Cameron Rimington w firmę liczącą ponad 50 osób, obsługującą NASA, Teslę i światowe agencje rządowe.

...
Czytaj więcej

Powiązane artykuły

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta