MATLAB Answers

Appending HTML to document object adds additional unwanted tags.

2 views (last 30 days)
Aidan Keay
Aidan Keay on 5 Jun 2019
Commented: Aidan Keay on 21 Jun 2019
Constructing a basic document, appending custom HTML and viewing the final document HTML.
import mlreportgen.dom.*;
doc=Document('doc','html');
htmlObj = HTML('<div><a href="https://www.mathworks.com">Mathworks</a></div>');
append(doc, htmlObj);
close(doc);
rptview(doc.OutputPath)
After appending to the document body we get:
<body onload="outline()">
<div><div><p><a href="https://www.mathworks.com"><span>Mathworks</span></a></p></div></div> %Additional tags.
</body></html>
I understand the HTML object has a wrapper element (the div in this case) which is wrapped around the html object. The main problem is the additional p and span tags. These unknown tags make document styling more difficult.
Is there any way to pass through HTML with the append function and no additional modification?
Thanks.

  0 Comments

Sign in to comment.

Accepted Answer

Rahul Singhal
Rahul Singhal on 20 Jun 2019
Hi Aidan,
If you want to add HTML content in a HTML report, and do not want additonal tags to be created, you can use the DOM mlreportgen.dom.RawText object.
So your script will look like:
import mlreportgen.dom.*;
doc=Document('doc','html');
rawTextObj = RawText('<div><a href="https://www.mathworks.com">Mathworks</a></div>');
append(doc, rawTextObj);
close(doc);
rptview(doc.OutputPath);
And the corresponding generated report will have:
<body onload="outline()">
<div><a href="https://www.mathworks.com">Mathworks</a></div>
</body>
Thanks,
Rahul

More Answers (0)


Translated by