Создание 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#
- Создайте объект
HTMLDocumentбез исходного содержимого с помощью конструктора без параметров. - Задайте данные уровня документа, например свойство
Title. - Создайте необходимые узлы методом
CreateElement(), затем задайте их текст, свойства и атрибуты. - Добавьте элементы в
Bodyили другой родительский узел с помощьюAppendChild(). - Запишите готовый документ методом
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.