I have a file, which change it content in a short time. But I’d like to read it before it is ready. The problem is, that it is an xml-file (log). So when you read it, it could be, that not all tags are closed.
I would like to know if there is a possibility to close all opened tags correctly, that there are no problems to show it in the browser (with xslt stylsheet). This should be made by using included features of python.
Some XML parsers allow incremental parsing of XML documents that is the parser can start working on the document without needing it to be fully loaded. The XMLTreeBuilder from the xml.etree.ElementTree module in the Python standard library is one such parser: Element Tree
As you can see in the example below you can feed data to the parser bit by bit as you read it from your input source. The appropriate hook methods in your handler class will get called when various XML “events” happen (tag started, tag data read, tag ended) allowing you to process the data as the XML document is loaded:
In this example the handler would receive five events and print:
sometag started
sometag-child started
“text” data read
sometag-child ended
sometag ended
All data read