List Info

Thread: Re: how to read and parse an xml from socket?




Re: how to read and parse an xml from socket?
user name
2007-01-22 18:52:52
Thanks, Eric Good to know this so that I do not spend more time on the socket approach. Yes, I am switching to the xmlParseMemory approach. Steve Eric S. Eberhard wrote: > Steve, > > I have never had good luck with parsing off a socket. I find it much > easier to just read off the socket myself in to a memory area, and > then parse the memory area using xmlParseMemory > > Of course, if you read off the socket yourself make sure and look for > the end tag to speed things up. And, of course, don't read past the > end tag ... > > Eric > > > > At 04:56 PM 1/22/2007, Steve Yan wrote: >> Thanks a lot, Daniel. >> >> For windows, HANDLE (and SOCKET) are defined as void *. Since the >> libxml2 takes fd (integer type) as its argument, I am using the >> following function to get fd from HANDLE: >> >> int fd = _open_osfhandle((long)my_handle, O_RDONLY); >> >> However, when I call libxml2 function such as: >> >> xmlTextReaderPtr reader = xmlReaderForFd(fd, NULL, NULL, >> XML_PARSE_COMPACT); >> >> if (reader != NULL) { >> ret = xmlTextReaderRead(reader); >> ..................................................... >> } >> >> xmlTextReaderRead(reader) returns -1, and I got the following error; >> >> I/O Error: Invalid argument >> Entity: line 1: parser error: Extra content at the end of document. >> >> BTW, the XML string is valid and no extra content at its end. >> >> What is the problem? What to do to read xml from socket in windows? >> >> Steve >> >> Daniel Veillard wrote: >> > On Sat, Jan 20, 2007 at 05:57:27PM -0800, Steve Yan wrote: >> > >> >> Hi, >> >> >> >> This may be a question asked by people before, but I could not >> find answer >> >> from google. >> >> >> > >> > Bad excuse: >> > http://xmlsoft.org/docs.html >> > >> > >> >> I am trying to read out and parse XML from a socket, which API >> should I >> >> use? any sample code? >> >> >> > >> > There is multiple parsing APIs, tree, xmlReader or SAX, all of >> them can >> > consume from a file descriptor, and you can build your own I/O >> handlers too. >> > >> > http://xmlsoft.org/html/libxml-parser.html#xmlReadFd >> > http://xmlsoft.org/html/libxml-parser.html#xmlReadIO >> > and >> > http://xmlsoft.org/xmlio.html >> > >> > Daniel >> > >> > P.S.: posting a completely unrelated message by replying to an >> existing >> > mail and changing the subject if fine if you understand you also >> > need to remove the In-Reply-To: and References: headers, >> otherwise >> > you just break mail threading of people using decent email >> clients... >> > Please don't do that ! >> > >> > >> _______________________________________________ >> xml mailing list, project page http://xmlsoft.org/ >> xmlgnome.org >> http://mail.gnome.org/mailman/listinfo/xml > > > This email sent by: > > Eric S. Eberhard > (928) 567-3727 Voice > (928) 567-6122 Fax > (928) 301-7537 Cell > > For Metropolis support and VICS MBA Support!!!! > > http://www.vicsmba.com > _______________________________________________ xml mailing list, project page http://xmlsoft.org/ xmlgnome.org http://mail.gnome.org/mailman/listinfo/xml
[1]

about | contact  Other archives ( Real Estate discussion Medical topics )