Можно использовать программу очистки HTML, такую как HTML, Опрятный, чтобы устранить много проблем и идентифицировать проблемы, которые необходимо решить вручную. Для описания требований для содержимого HTML, чтобы можно добавить, смотрите Требования КОДА HTML для Отчетов DOM.
Можно использовать HTML Опрятная программа, чтобы зафиксировать содержимое HTML так, чтобы это удовлетворило требования для добавления к отчету DOM. Этот пример использует пакетный файл, чтобы зафиксировать содержимое HTML.
Скопируйте это содержимое HTML в текстовый редактор, такой как WordPad.
<html> <head> <title>Hi there</title> </head> <body> <p>This is a page a simple page with a simple table <style> table, th, td { border: 1px solid black; } </style> <table style="width:50%"> <tr> <td><b>Name</B></td> <td><b>Age</b></td> <td><b>Occupation</b></td> </tr> <tr> <td>Joe Smith</td> <td>40</td> <td>Plumber</td> </tr><tr> <td>Sue Jones</td> <td>33</td> <td>Scientist</td> </tr> <tr> <td>Carlos Martinez</td> <td>38</td> <td>Lawyer</td> </tr> </table> </body> </html>
Это содержимое HTML имеет элементы, которые не являются XML parsable, включая:
Отсутствие закрывающего тэга:
<p>This is a page a simple page with a simple table
Противоречивый случай для тега элементов:
<td><b>Name</B></td>
В текущей папке MATLAB® сохраните файл с помощью имени файла simple_html_example.html
.
Отобразите файл в браузере HTML. Несмотря на то, что содержимое HTML содержит элементы, которые не являются XML parsable, оно отображается правильно в большинстве браузеров HTML, таких как Internet Explorer.
В MATLAB попытайтесь добавить файл HTML к отчету DOM.
import mlreportgen.dom.*; rpt = Document('html_report','docx'); htmlFile = HTMLFile('simple_html_example.html');
Вы получаете эту ошибку.
Error using mlreportgen.dom.HTMLFile Parsing HTML text: "simple_html_example.html" caused error: "HTML error: "expected end of tag 'b'""
Загрузите HTML Опрятная программа. Например, чтобы загрузить Опрятный для Windows®, перейдите к http://www.paehl.com/open_source/?HTML_Tidy_for_Windows. Щелкните по ссылке EXE Version compiled 06 nov 2009
.
Чтобы загрузить Опрятный для других платформ, см. https://binaries.html-tidy.org/.
В файле tidy.zip
щелкните правой кнопкой по tidy.exe
и выберите Extract. Извлеките tidy.exe
к текущей папке MATLAB.
Создайте пакетный файл, чтобы использовать с Опрятным. В Блокноте введите следующий код.
tidy --doctype omit --input-xml no --output-xml yes --write-back yes -f errs.txt %1
Сохраните пакетный файл в пути к Windows. Сохраните файл как tidyup.bat
. Можно использовать этот пакетный файл с другими файлами HTML, которые вы хотите добавить к отчету DOM.
Сделайте резервную копию файла simple_html_example.html
, который содержит HTML, чтобы добавить к отчету DOM.
Запуститесь Опрятный на simple_html_example.html
. В командном окне Windows, введите:
tidyup simple_html_example.html
В папке, куда вы запустили tidyup
, проверяйте файл errs.txt
. Тот файл обобщает изменения, Опрятные сделанный, и перечисляет как ошибочные проблемы, которые Опрятный не могли зафиксировать. В этом примере нет никаких ошибок, но если errs.txt
действительно сообщал об ошибках, вручную отредактируйте файл HTML, чтобы решить те проблемы.
В MATLAB добавьте файл simple_html_example.html
к DOM, сообщают и отображают отчет.
import mlreportgen.dom.*; rpt = Document('html_report','docx'); htmlFile = HTMLFile('simple_html_example.html'); append(rpt,htmlFile); close(rpt); rptview(rpt.OutputPath);