Generating header information using ElementTree
John Machin
sjmachin at lexicon.net
Sun Nov 26 17:28:12 EST 2006
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
More information about the Python-list
mailing list