Re: [xml] how to read and parse an xml from socket?
- From: Steve Yan <syan tbdnetworks com>
- To: veillard redhat com
- Cc: xml gnome org
- Subject: Re: [xml] how to read and parse an xml from socket?
- Date: Mon, 22 Jan 2007 15:56:38 -0800
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 !
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]