Как загрузить HTML на C#

Загрузка HTML – это фундаментальная операция для различных веб-задач, включая веб-разработку, рендеринг веб-страниц, извлечение данных, управление контентом, обработку документов, тестирование и многое другое. Библиотека Aspose.HTML for .NET предоставляет HTMLDocument класс и набор конструкторов HTMLDocument() , которые загружают HTML и инициализируют объект HTMLDocument для дальнейших манипуляций. HTML-документы можно загружать из файла или URL-адреса, а также создавать и загружать из строки или потока памяти. Итак, давайте рассмотрим способы загрузки HTML!

Сначала убедитесь, что в вашем проекте установлена Aspose.HTML for .NET . Процесс установки этой библиотеки довольно прост. Вы можете инсталлировать её через консоль диспетчера пакетов NuGet, используя следующую команду:


Установите Aspose.HTML для .NET.

Install-Package Aspose.HTML

Загрузить HTML из файла

Загрузка HTML из файла – хорошая отправная точка для работы с существующими файлами HTML, шаблонами или данными, хранящимися в формате HTML. Если вам необходимо загрузить существующий HTML-файл из файла, поработать с ним и сохранить его, вам поможет следующий фрагмент кода:

  1. Загрузите HTML-документ из файла с помощью конструктора HTMLDocument(address) , который загружает HTML-документ по адресу (локальному пути к документу).
  2. Сохраните HTML-файл, используя метод Save() .

Библиотека Aspose.HTML для .NET предлагает набор конструкторов, которые позволяют загружать HTML-документ из файла. Например, HTMLDocument(address, configuration) загружает HTML-документ по адресу с указанными параметрами конфигурации среды. Для получения дополнительной информации обратитесь к главе HTMLDocument Справочника API.


Код C# для загрузки HTML из файла

using System.IO;
using Aspose.Html;
...

    // Prepare a file path
	string documentPath = Path.Combine(DataDir, "sprite.html");

	// Initialize an HTML document from the file
	using (var document = new HTMLDocument(documentPath))
	{
		// Work with the document

		// Save the document to a disk
		document.Save(Path.Combine(OutputDir, "sprite_out.html"));
	}

Загрузить HTML из URL-адреса

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

  1. Загрузите HTML-документ из URL с помощью конструктора HTMLDocument(Url) . Вы можете использовать HTMLDocument(Url, сonfiguration) , если хотите загрузить HTML с URL-адреса с указанными настройками конфигурации среды.
  2. Используйте свойство OuterHTM , чтобы получить полное HTML-содержимое документа. Сюда входит HTML всего документа, включая сам элемент HTML.

Если вам нужно сохранить HTML-документ на локальном диске, используйте метод Save() .


Код C# для загрузки HTML из URL-адреса

using System.IO;
using Aspose.Html;
...

	// Load a document from 'https://docs.aspose.com/html/net/creating-a-document/' web page
	using (var document = new HTMLDocument("https://docs.aspose.com/html/net/creating-a-document/"))
	{
		var html = document.DocumentElement.OuterHTML;

		// Write the document content to the output stream
		Console.WriteLine(html);
	}

Загрузить HTML из строки

Загрузка HTML из строки – это важная возможность, позволяющая манипулировать содержимым HTML и преобразовывать неструктурированные строки HTML в структурированный документ, которым можно манипулировать, анализировать или отображать:

  1. Сначала подготовьте код HTML-документа.
  2. Используйте конструктор HTMLDocument(content, baseUri) для инициализации HTML-документа из строкового содержимого с указанным baseUri.
  3. Сохраните HTML-файл, используя метод Save() .

Код C# для загрузки HTML из строки

using System.IO;
using Aspose.Html;
...

	// Prepare HTML code
    var html_code = "<p>Learn how to load HTML</p>";

    // Initialize a document from the string variable
    using (var document = new HTMLDocument(html_code, "."))
    {
        // Save the document to a disk
        document.Save(Path.Combine(OutputDir, "load-html-from-string.html"));
    }

Загрузить HTML из потока памяти

Загрузка HTML из потока полезна для повышения эффективности использования памяти или работы с данными в памяти. Следующий код C# демонстрирует, как загрузить HTML из MemoryStream и сохранить его в файл с помощью Aspose.HTML для .NET:

  1. Инициализируйте объекты MemoryStream и StreamWriter. StreamWriter используется для записи HTML-кода в MemoryStream.
  2. Запишите HTML-код в MemoryStream, используя метод Write().
  3. Вызовите Flush(), чтобы убедиться, что все буферизованные данные записаны в поток, и используйте Seek(0, SeekOrigin.Begin), чтобы установить позицию потока в начало. Это важно, поскольку HTMLDocument считывает содержимое с текущей позиции в потоке.
  4. Инициализируйте HTMLDocument из MemoryStream с помощью конструктора HTMLDocument(content, baseUri) . Экземпляр HTMLDocument создается путем передачи объекта MemoryStream и baseUri в качестве параметров.
  5. Сохраните HTML-файл на локальном диске, используя метод Save() .

Код C# для загрузки HTML из потока памяти

using System.IO;
using Aspose.Html;
...

    // Create a memory stream object
	using (var mem = new MemoryStream())
	using (var sw = new StreamWriter(mem))
	{
		// Write the HTML code into the memory object
		sw.Write("<p>Load HTML from a memory stream</p>");

		// It is important to set the position to the beginning, since HTMLDocument starts the reading exactly from the current position within the stream
		sw.Flush();
		mem.Seek(0, SeekOrigin.Begin);

		// Initialize a document from the string variable
		using (var document = new HTMLDocument(mem, "."))
		{
			// Save the document to a local disk
			document.Save(Path.Combine(OutputDir, "load-html-from-stream.html"));
		}
	}

Чтобы узнать больше об API Aspose.HTML, посетите нашу документацию . В статье Создание HTML-документа вы найдете информацию о том, как загрузить документ из файла, URL-адреса и потока или создать его с нуля. В статье документации Редактировать HTML-документ представлена ​​основная информация о том, как читать или редактировать объектную модель документа с помощью Aspose.HTML для .NET API. Вы узнаете, как создавать элементы HTML и как с ними работать – изменять документ, вставляя новые узлы, удаляя или редактируя содержимое существующих узлов.