Craig wrote: > Fredrik Lundh wrote: > > > Craig wrote: > > > > > I'm only new to Python so please bear with me. I using ElementTree to > > > generate an XML file that will reference a DTD and an XSL file. The > > > header information I want at the start of the file is as follows: > > > > > > <?xml version="1.0"?> > > > <?xml-stylesheet type="text/xsl" href="test.xsl"?> > > > <!DOCTYPE BobActivityLog SYSTEM "test.dtd"> > > > > > > How do you add this header information to the tree > > > > to the file, you mean? use print. > > > > </F> > > Thanks for the quick response. Here is the code I am using to manually > write to the file is: > > outFile = open("record.xml", 'w') > outFile.write = ("<?xml version=\"1.0\"?>\n")
outFile.write is a *method* that you call to write your string, not some sort of magic gadget that writes stuff as a side-effect of being assigned to. Simply do this: outFile.write("<?xml version=\"1.0\"?>\n") and (of course) fix the following similar problems. > outFile.write = ("<?xml-stylesheet type=\"text/xsl\" > href=\"test.xsl\"?>\n") > outFile.write = ("<!DOCTYPE BobActivityLog SYSTEM \"test.dtd\">\n") > outFile.close() > > When I run the code I get the following error message: > > Traceback (most recent call last): > File "bob-xml.py", line 189, in <module> > main() > File "bob-xml.py", line 173, in main > outFile.write = ("<?xml version=\"1.0\"?>\n") > AttributeError: 'file' object attribute 'write' is read-only > If that were permitted, you'd be replacing the method with a string! HTH, John -- http://mail.python.org/mailman/listinfo/python-list