samedi 25 avril 2015

ValueError with xmltodict unparse() function - Python 3


I'm having trouble using xmltodict to convert json to xml. It works fine with a single root and a single object, however when I try to convert multiple objects it returns a ValueError "ValueError: document with multiple roots".

Here's my JSON data:

Here's my script thus far:

import json
import xmltodict

    y = """{  

"markers":[
{
"point":"new GLatLng(40.266044,-74.718479)", "awayTeam":"LUGip", "markerImage":"images/red.png", "fixture":"Wednesday 7pm", "information":"Linux users group meets second Wednesday of each month.", "previousScore":"", "capacity":"", "homeTeam":"Lawrence Library" }, {
"point":"new GLatLng(40.211600,-74.695702)", "awayTeam":"LUGip HW SIG", "tv":"", "markerImage":"images/white.png", "fixture":"Tuesday 7pm", "information":"Linux users can meet the first Tuesday of the month to work out harward and configuration issues.", "capacity":"", "homeTeam":"Hamilton Library" }, {
"point":"new GLatLng(40.294535,-74.682012)", "awayTeam":"After LUPip Mtg Spot", "tv":"", "markerImage":"images/newcastle.png", "fixture":"Wednesday whenever", "information":"Some of us go there after the main LUGip meeting, drink brews, and talk.", "capacity":"2 to 4 pints", "homeTeam":"Applebees" } ] }"""

y2 = json.loads(y)
print(xmltodict.unparse(y2, pretty = True))

Result:

Traceback (most recent call last):

  File "<ipython-input-89-8838ce8b0d7f>", line 1, in <module>
    print(xmltodict.unparse(y2,pretty=True))

  File "/Users/luzazul/anaconda/lib/python3.4/site-packages/xmltodict.py", line 323, in unparse
    raise ValueError('Document must have exactly one root.')

ValueError: Document must have exactly one root.

Any help would be greatly appreciated, thanks!


Aucun commentaire:

Enregistrer un commentaire