parsing different xml messages

K

kaklis

Hello,
I receive the following different Xml Messages from a socket:

<p_control_message serverIP="server-2" xmlns="http://test.com/pt">

<cmdReply>

<sessionList>

<session>

<id>5a62ded</id>

<subscriberId>101</subscriberId>

<subscriberName>Angie</subscriberName>

<presence>online</presence>

<note/>

<ipAddress>Some IP</ipAddress>

</session>

</sessionList>

</cmdReply>

</p_control_message>


<p_control_message xmlns="http://test.com/pt">

<cmd>

<systemMessage serverId="50" type="CRITICAL">

<message>Server server-1 is going down for redeploy!</message>

</systemMessage>

</cmd>

</pttv_control_message>

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?

Thanks

Antonis K.
 
S

Stefan Behnel

(e-mail address removed), 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?

Stefan
 
K

kaklis

(e-mail address removed), 27.07.2010 12:17:


 From a bare socket? TCP? UDP? Or what else?


Use an application level protocol?

Stefan

From a tcp socket using the twisted framework.
Application level protocol... Such as?
 
S

Stefan Behnel

(e-mail address removed), 27.07.2010 13:58:
Depends on what you *can* use. Do you control the sending side?

Note: giving better details helps others in giving better answers.

Stefan
 
K

kaklis

(e-mail address removed), 27.07.2010 13:58:




Depends on what you *can* use. Do you control the sending side?

Note: giving better details helps others in giving better answers.

Stefan

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.


A.K.
 
S

Stefan Behnel

(e-mail address removed), 27.07.2010 14:26:
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
 
S

Stefan Behnel

(e-mail address removed), 27.07.2010 14:43:
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
 
K

kaklis

(e-mail address removed), 27.07.2010 14:43:





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

ok that's great, thanks Stefan
i'll try it.

Antonis
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,581
Members
45,056
Latest member
GlycogenSupporthealth

Latest Threads

Top