Im trying to output some data from my google app engine datastore to xml so that a flash file can read it,
The problem is when using CDATA tags the outputted xml contains <
instead of <
e.g
<name><![CDATA][name]]></name>
here is my python which outputs the xml:
doc = Document()
feed = doc.createElement("feed")
doc.appendChild(feed)
tags_element = doc.createElement("names")
feed.appendChild(tags_element)
copen = "<![CDATA]["
cclose = "]]>"
tags = db.GqlQuery("SELECT * FROM Tag ORDER BY date DESC")
for tag in tags:
tag_element = doc.createElement("name")
tags_element.appendChild(tag_element)
the_tag = doc.createTextNode("%s%s%s" % (copen,str(tag.thetag), cclose))
tag_element.appendChild(the_tag)
self.response.headers["Content-Type"] = "application/xml"
self.response.out.write(doc.toprettyxml(indent=" "))
i know this is an encoding issue just can't seem to get to the route of the problem,
thanks in advance
It seems the createCDATASection method works for me.
for tag in tags:
tag_element = doc.createCDATASection(tag.thetag)
tags_element.appendChild(tag_element)