def parse_x_prot(text):
    lbra = pp.Literal('{').suppress()
rbra = pp.Literal('}').suppress()
lang = pp.Literal('<').suppress()
rang = pp.Literal('>').suppress()
dot = pp.Literal('.')
cstr = pp.quotedString.addParseAction(pp.removeQuotes)
tag = pp.Combine(lang + pp.Word(pp.alphanums) + pp.Optional(pp.Group(dot +
    pp.quotedString)) + rang)
val = pp.Combine(pp.Word(pp.nums) + dot + pp.Word(pp.nums)) | cstr | pp.Word(pp
    .nums)
statement = pp.Forward()
array = pp.Group(pp.OneOrMore(tag) + pp.OneOrMore(lbra + pp.OneOrMore(val |
    statement) + rbra | val | lbra + rbra))
statement << array
return statement.parseString(text)
Как разобрать гибридный файл JSON-XML в Python