Appending HTML to document object adds additional unwanted tags.
5 views (last 30 days)
Show older comments
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
Accepted Answer
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)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!