Отображение XML-данных на HTML-странице

XML представляет собой язык самоописания, поддерживаемый W3C и специально созданный для эффективного хранения данных и беспрепятственного обмена данными. Для разработчиков приложений Python адаптируемость формата XML позволяет легко преобразовать его в удобные для пользователя, удобочитаемые форматы, такие как HTML. В этой статье вы узнаете, как использовать GroupDocs.Assembly Cloud SDK для Python и простые шаблоны для преобразования данных XML в полные отчеты HTML.

Предпосылки:

Прежде чем приступить к работе, убедитесь, что у вас есть следующее:

  • Python установлен в вашей системе. — Установлен Cloud SDK GroupDocs.Assembly для Python.
  • Активная учетная запись GroupDocs.Assembly Cloud с действительными учетными данными API.
  • Примеры данных и шаблоны для тестирования (мы будем использовать следующий образец XML-данных и шаблон отчета).

Пример XML-данных

Используйте следующие XML-данные.

<Managers>
	<Manager>
		<Name>John Smith</Name>
		<Contract>
			<Client>
				<Name>A Company</Name>
			</Client>
			<Price>1200000</Price>
		</Contract>
		<Contract>
		...
		</Contract>
		...
	</Manager>
	<Manager>
		<Name>Tony Anderson</Name>
		...
	</Manager>
	...
</Managers>

Образец шаблона

Создайте указанный шаблон в формате TXT, DOCX или необходимом формате для обработки данных Менеджеров вместе с соответствующими Клиентами и соответствующей информацией. После этого приступайте к реализации кода для формирования отчета.

<<foreach \[in managers\]>>Manager: <<\[Name\]>>
Contracts:
<<foreach \[in Contract\]>>- <<\[Client.Name\]>> ($<<\[Price\]>>)
<</foreach>>
<</foreach>>

Вопросы, которые следует рассмотреть:

Настройка SDK генератора отчетов Python HTML

Чтобы начать процесс, включите Cloud SDK GroupDocs.Assembly для Python в свой проект Python с помощью pip (установщик пакета Python). Выполните следующую команду в консоли:

pip install groupdocs-assembly-cloud

Запустите API-клиент

Затем получите свой Идентификатор клиента и Секрет клиента с панели управления и включите предоставленный код, как показано ниже:

import groupdocsassemblycloud as assembly
# Get app_sid & app_key from https://dashboard.groupdocs.cloud after free registration.
app_sid = "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
app_key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
# Get File API configurations.
configuration = assembly.Configuration(app_sid, app_key)
configuration.api_base_url = "https://api.groupdocs.cloud"
storage_name = "LocalStorage"

Загрузите источник данных и файлы шаблона.

Сначала загрузите файлы источника данных и шаблонов в облако, используя пример кода, приведенный ниже:

# Create an instance of the file API
file_api = groupdocsassemblycloud.FileApi.from_config(configuration)
# Call upload file request
request = groupdocsassemblycloud.UploadFileRequest("python-testing\input-sample-file.xml", "H:\\groupdocs-cloud-data\\input-sample-file.xml", "storage_name")
# Upload file to the cloud
response = file_api.upload_file(request)
print(response.uploaded)
view raw upload-file.py hosted with ❤ by GitHub

В результате загруженные файлы будут доступны в разделе файлов вашего личного кабинета в облаке.

Отображение XML-данных на HTML-странице с помощью Python

Чтобы представить XML-данные на HTML-странице, выполните следующие шаги:

  1. Создайте экземпляр AssemblyApi с client_id и client_secret.
  2. Настройте информацию шаблона, указав путь к файлу, имя хранилища, идентификатор версии и пароль.
  3. Подготовьте запрос на сборку, используя AssembleOptions, указав данные отчета, информацию о шаблоне, путь вывода и формат сохранения.
  4. Создайте отчет HTML с помощью метода AssemblyApi.assemble_document(AssembleOptions).

Предоставленный пример кода иллюстрирует реализацию Python SDK для REST API генератора отчетов HTML, позволяющего представлять данные XML на странице HTML.

import groupdocsassemblycloud as assembly
client_id = "XXXX-XXXX-XXXX-XXXX"
client_secret = "XXXXXXXXXXXXXXXX"
assemblyAPI = assembly.AssemblyApi(client_id,client_secret )
# Set up template info
templateInfo = assembly.TemplateFileInfo()
templateInfo.file_path= 'Python_Testing/template.txt'
templateInfo.storage_name= 'LocalStorage'
templateInfo.version_id= ''
templateInfo.password='abc123'
# Prepare assemble request
options=assembly.AssembleOptions()
options.report_data = 'Python_Testing/report-data.xml';
options.template_file_info = templateInfo
options.output_path = 'Python_Testing/report.html';
options.save_format = 'html'
# Generate HTML report
assemblyAPI.assemble_document(options)

Скачать HTML-файл

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

# Create instance of the API
file_api = groupdocsassemblycloud.FileApi.from_config(configuration)
request = groupdocs_conversion_cloud.DownloadFileRequest('Python_Testing/report.html', my_storage)
response = file_api.download_file(request)
# Move downloaded file to your working directory
shutil.move(response, "C:\\Files\\")

Заключение

В этой статье мы рассмотрели шаги, необходимые для представления XML-данных на HTML-странице с помощью GroupDocs.Assembly Cloud REST API в сочетании с его Python SDK. Этот надежный API позволяет разработчикам легко создавать динамические отчеты в различных форматах, используя информацию из XML или источников XML, а также объединяя шаблоны, охватывающие документы Word, электронные таблицы и текстовые файлы.

Кроме того, для более полного понимания Cloud API GroupDocs.Assembly ознакомьтесь с подробной документацией. Кроме того, воспользуйтесь нашей областью Справочник по API, которая дает вам возможность напрямую взаимодействовать с нашими API и наблюдать за их работой прямо из браузера. Вы также можете свободно получить доступ к полному исходному коду Python SDK на Github.

В заключение мы постоянно публикуем свежие статьи в блогах, в которых рассматриваются различные форматы файлов и их анализ с использованием REST API. Свяжитесь с нами для получения самой актуальной информации.

Задайте вопрос

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

Смотрите также

Вот несколько статей по теме, которые могут оказаться вам полезными: