Создание HTML-документа с помощью .NET API

Aspose.HTML for .NET создаёт новый объект HTMLDocument с деревом HTML-документа, которое приложение может заполнить через DOM API. Создайте элементы, задайте их текст и атрибуты, добавьте их в документ и вызовите Save(), чтобы записать готовый HTML-файл.


Создание и сохранение HTML-файла в C#

Следующий пример создаёт документ, задаёт его заголовок, добавляет заголовок страницы, абзац и ссылку в элемент <body>, а затем сохраняет результат в файл created.html.

Код C# для создания HTML-документа

using Aspose.Html;

using HTMLDocument document = new HTMLDocument();

document.Title = "Product overview";

// Create the visible page elements
HTMLHeadingElement heading =
    (HTMLHeadingElement)document.CreateElement("h1");
heading.TextContent = "Product overview";

HTMLParagraphElement paragraph =
    (HTMLParagraphElement)document.CreateElement("p");
paragraph.TextContent = "Explore the product documentation and examples.";

HTMLAnchorElement link =
    (HTMLAnchorElement)document.CreateElement("a");
link.Href = "https://docs.aspose.com/html/net/";
link.TextContent = "Read the documentation";

// Add the elements in document order
document.Body.AppendChild(heading);
document.Body.AppendChild(paragraph);
document.Body.AppendChild(link);

// Save the completed HTML document
document.Save("created.html");

Как создать HTML-файл в C#

  1. Создайте объект HTMLDocument без исходного содержимого с помощью конструктора без параметров.
  2. Задайте данные уровня документа, например свойство Title.
  3. Создайте необходимые узлы методом CreateElement() , затем задайте их текст, свойства и атрибуты.
  4. Добавьте элементы в Body или другой родительский узел с помощью AppendChild() .
  5. Запишите готовый документ методом Save() .

Возможности создания HTML-документов

  • Готовое дерево документа. Новый объект HTMLDocument содержит структуру документа, включая Head и Body, поэтому код может добавлять содержимое в соответствующее место.
  • Типизированные HTML-элементы. Метод CreateElement() создаёт DOM-узлы, которые при необходимости можно привести к классам HTMLHeadingElement, HTMLParagraphElement и HTMLAnchorElement для доступа к свойствам конкретного элемента.
  • Управляемое добавление текста и разметки. Используйте TextContent для обычного текста. Применяйте методы DOM или InnerHTML, только если приложение намеренно передаёт разметку, и проверяйте разметку из недоверенных источников.
  • Настройка атрибутов и связей. Задавайте ссылки, классы, идентификаторы, адреса ресурсов, метаданные и другие данные элемента до его добавления в дерево документа.
  • Сохранение или дальнейшая обработка. Сохраните документ как HTML, продолжите изменять его с помощью DOM-запросов или передайте в процесс преобразования, если требуется PDF, DOCX, XPS или изображение.

Документация и справочник API по созданию HTML

В руководстве Создание и загрузка HTML-документов приведены примеры создания пустого документа, формирования документа из разметки и выбора базового URL. Статья Редактирование HTML-документа объясняет создание, вставку, замену и удаление DOM-узлов. Если у приложения уже есть файл, URL, строка или поток с исходным содержимым, используйте сценарий Загрузка HTML в C# .


Установка Aspose.HTML for .NET

Установите Aspose.HTML for .NET из NuGet с помощью .NET CLI:

dotnet add package Aspose.HTML

Также можно использовать интерфейс диспетчера пакетов NuGet или выполнить Install-Package Aspose.HTML в консоли диспетчера пакетов. Подробные инструкции приведены в руководстве по установке . Чтобы протестировать API без ограничений ознакомительной версии, запросите временную лицензию .


Вопросы о создании HTML-документов

1. Можно ли преобразовать новый HTMLDocument, не сохраняя его в HTML-файл?

Да. Передайте находящийся в памяти документ в подходящую перегрузку Converter.ConvertHTML() вместе с требуемыми параметрами сохранения и выходным путём или потоком. Создавать промежуточный HTML-файл не требуется.

2. Содержит ли новый HTMLDocument элементы <html>, <head> и <body>?

Да. Конструктор без параметров создаёт базовую структуру HTML-документа. Добавляйте метаданные и ресурсы уровня документа в Head, а видимое содержимое страницы – в Body.

3. Добавляет ли CreateElement() новый элемент в документ автоматически?

Нет. Метод CreateElement() создаёт отдельный узел. Вызовите AppendChild(), InsertBefore() или другой метод вставки DOM, чтобы поместить узел в Head, Body или существующий элемент.

4. Нужно ли создавать новый документ, если полная HTML-разметка уже находится в строке?

Используйте конструктор HTMLDocument, который принимает разметку и базовый URL. Базовый URL разрешает относительные ссылки и ресурсы, а конструктор разбирает переданную разметку в DOM.

5. Может ли созданный HTML ссылаться на CSS, изображения, скрипты и шрифты?

Да. Создайте соответствующие HTML-элементы и задайте URL ресурсов или атрибуты. Убедитесь, что относительные ссылки корректны для расположения, в котором будут размещены HTML-файл и связанные с ним ресурсы.

Связанные операции с HTML-документами

Перейдите к загрузке, редактированию, выбору элементов или преобразованию HTML.