Skip to content Skip to sidebar Skip to footer

How To Add An Xml-stylesheet Processing Instruction Node With Python 2.6 And Minidom?

I'm creating an XML document using minidom - how do I ensure my resultant XML document contains a stylesheet reference like this:

Solution 1:

Use something like this:

from xml.dom import minidom

xml = """
<root>
 <x>text</x>
</root>""" 

dom = minidom.parseString(xml)
pi = dom.createProcessingInstruction('xml-stylesheet',
                                     'type="text/xsl" href="mystyle.xslt"')
root = dom.firstChild
dom.insertBefore(pi, root)
print dom.toprettyxml()

=>

<?xml version="1.0" ?><?xml-stylesheet type="text/xsl" href="mystyle.xslt"?><root><x>
      text
   </x></root>

Solution 2:

I am not familiar with minidom, but you must create a processing instruction node (PI) with name: "xml-stylesheet" and text: "type='text/xsl' href='mystyle.xslt'"

Read the documentation how a PI is created.

Solution 3:

import xml.dom
dom = xml.dom.minidom.parse("C:\\Temp\\Report.xml")
pi = dom.createProcessingInstruction('xml-stylesheet',
                                     'type="text/xsl" href="TestCaseReport.xslt"')
root = dom.firstChild
dom.insertBefore(pi, root)
a = dom.toxml()
f = open("C:\\Report(1).xml",'w')
f.write(a)
f.close()

Post a Comment for "How To Add An Xml-stylesheet Processing Instruction Node With Python 2.6 And Minidom?"