parsing different xml messages

Stefan Behnel stefan_ml at behnel.de
Tue Jul 27 09:06:44 EDT 2010


kaklis at gmail.com, 27.07.2010 14:43:
> On Jul 27, 8:41 am, Stefan Behnel wrote:
>> kak... at gmail.com, 27.07.2010 14:26:
>>
>>> On Jul 27, 8:14 am, Stefan Behnel wrote:
>>>> kak... at gmail.com, 27.07.2010 13:58:
>>
>>>>> On Jul 27, 6:30 am, Stefan Behnel wrote:
>>>>>> kak... at gmail.com, 27.07.2010 12:17:
>>
>>>>>>> I receive the following different Xml Messages from a socket:
>>
>>>>>>     From a bare socket? TCP? UDP? Or what else?
>>
>>>>>>> Which is the best way to make a distinction between them so that every
>>>>>>> time my app receives the one or the other, parse them correctly?
>>
>>>>>> Use an application level protocol?
>>
>>>>>>   From a tcp socket using the twisted framework.
>>>>>> Application level protocol... Such as?
>>
>>>> Depends on what you *can* use. Do you control the sending side?
>>
>>>> Note: giving better details helps others in giving better answers.
>>
>>> Well yes you are right!
>>> I can't control the sending side.
>>> The app i'm writing just accepts incoming xml messages. Like the ones
>>> above.
>>> When i receive a message I parse it and print the information.
>>> I know how to parse both xml messages.
>>> What i want is to distinguish them so that i can trigger the
>>> appropriate parsing method.
>>
>> Do they come in concatenated or one per connection?
>>
>> Stefan
>
> one per connection.

Ah, ok, then just parse the message using (c)ElementTree and look at the 
name of the first child below the root node (assuming that both messages 
were supposed to have the same root node, as you may have wanted to 
indicate in your original posting). A dict dispatch to a function or method 
will do just fine.

Stefan




More information about the Python-list mailing list