I need to write model data (CharFields only) to an XML file to contain the data for a flash file. I am new to this, and the process is a little unclear to me for doing this in django. I am creating an xml file, and then writing the text data to the file (as is done with the csv module, but to xml). A very simplified xml file should result for the flash file to read, ie:
<?xml version="1.0" encoding="UTF-8"?>
<textFields>
<textField id="0" text="HELLO WORLD" />
<textField id="1" text="HELLO EARTH" />
...
</textFields>
I am using a serializer to write the xml data from the model:
from django.core import serializers data = serializers.serialize('xml', myModel.objects.filter(instanceIwantTowrite), fields=('fieldName'))
I then create file using core.files:
from django.core.files import File
f = open('/path/to/new/dir/content.xml', 'w')
myfile = File(f)
Write File data and close:
myfile.write(data)
myfile.close()
This works so far, although the xml output contains the fields for the object "django-objects" etc, and I will have to see if I can interpret this in ActionScript easily for the flash file. I would prefer to define the xml field names manually like in the csv module. As I am new to django and python, I am wondering if there is an easier, simpler way to do this?
note: In serializer I use filter on the model objects because using 'get' for the model instance returns an 'object not iterable' error. In fact i filter it twice to get a single instance, seems like there must be a better way.