From: kaklis on 1 Jun 2010 08:59 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:hjahs Host:127.0.0.1 Content-Length: 547 <pttv_control_message version="1.0-M4-SNAPSHOT" build="599" xmlns="http://1270.0.01/pttv"> <cmdReply> <code>200</code> <message>OK, found 5 session entries</message> <sessionList> <session> <id>06d4d59bfdfe10139dd874</id> <subscriberId>82</subscriberId> <deviceClass>and</deviceClass> </session> </sessionList> </cmdReply> </pttv_control_message> Please give me some hints
From: John Bokma on 1 Jun 2010 09:51 "kaklis(a)gmail.com" <kaklis(a)gmail.com> writes: > 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 Does Expat get this line as well? If so, that's the reason why you get an error at line 1, column 0. -- John Bokma j3b Hacking & Hiking in Mexico - http://johnbokma.com/ http://castleamber.com/ - Perl & Python Development
From: kaklis on 1 Jun 2010 10:00 On Jun 1, 9:51 am, John Bokma <j...(a)castleamber.com> wrote: > "kak...(a)gmail.com" <kak...(a)gmail.com> writes: > > 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 > > Does Expat get this line as well? If so, that's the reason why you get > an error at line 1, column 0. > > -- > John Bokma j3b > > Hacking & Hiking in Mexico - http://johnbokma.com/http://castleamber.com/- Perl & Python Development Yes but how can i fix it, how to "ignore" the headers and parse only the XML? Thanks
From: John Bokma on 1 Jun 2010 10:29 "kaklis(a)gmail.com" <kaklis(a)gmail.com> writes: > On Jun 1, 9:51 am, John Bokma <j...(a)castleamber.com> wrote: >> "kak...(a)gmail.com" <kak...(a)gmail.com> writes: >> > 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 >> >> Does Expat get this line as well? If so, that's the reason why you get >> an error at line 1, column 0. > > Yes but how can i fix it, how to "ignore" the headers and parse only > the XML? The headers are followed by exactly one empty line, so you you simply could remove lines up until including this empty line and then hand over the data to the parser. -- John Bokma j3b Hacking & Hiking in Mexico - http://johnbokma.com/ http://castleamber.com/ - Perl & Python Development
From: Stefan Behnel on 1 Jun 2010 10:34 kaklis(a)gmail.com, 01.06.2010 16:00: > how can i fix it, how to "ignore" the headers and parse only > the XML? Consider reading the answers you got in the last thread that you opened with exactly this question. Stefan
|
Next
|
Last
Pages: 1 2 3 Prev: expat parsing error Next: labels legibility in matplotlib pie charts and bar plots |