From: kaklis on
Hi i'm doing the following:

def start_element(name, attrs):
print 'Start element:', name, attrs
def end_element(name):
print 'End element:', name
def char_data(data):
print 'Character data:', repr(data)

class SimpleServer(LineReceiver): # Using Twisted

def connectionMade(self):
print 'Connection from: ', self.transport.client

def connectionLost(self, reason):
print self.transport.client, 'Disconnected'

def dataReceived(self, line):
"""Here the XML Parser"""

p = xml.parsers.expat.ParserCreate()

p.StartElementHandler = start_element
p.EndElementHandler = end_element
p.CharacterDataHandler = char_data
p.Parse(line, 1)

I got the following error
--- <exception caught here> ---
File "/usr/lib/python2.6/site-packages/Twisted-10.0.0-py2.6-linux-
x86_64.egg/twisted/internet/selectreactor.py", line 146, in
_doReadOrWrite
why = getattr(selectable, method)()
File "/usr/lib/python2.6/site-packages/Twisted-10.0.0-py2.6-linux-
x86_64.egg/twisted/internet/tcp.py", line 460, in doRead
return self.protocol.dataReceived(data)
File "stdiodemo.py", line 419, in dataReceived
p.Parse(line, 1)
xml.parsers.expat.ExpatError: syntax error: line 1, column 0


The XML Message is coming in the form of:

POST /test/pcp/Listener HTTP/1.1
user-agent:hjahsjdhaskd asdja d
Host:127.0.0.1
Content-Length: 547

<pttv_control_message version="1.0-M4-SNAPSHOT" build="599"
xmlns="http://bytemobile.com/pttv">
<cmdReply>
<code>200</code>
<message>OK, found 5 session entries</message>
<sessionList>
<session>
<id>06d4d59bf8f1abf57cadfe10139dd874</id>
<subscriberId>82</subscriberId>
<deviceClass>android</deviceClass>
</session>
</sessionList>
</cmdReply>
</pttv_control_message>

Please give me some hints