This is a simplified version of my earlier question, which may have been too situation specific to allow anyone to answer.
Is it possible to send libxml output to a file handle of a previously opened file (E.G. stdin) rather than a file name as used in these examples?
If it is then it may provide an answer to my earlier query.
Versions etc.
Language: C
Fedora Linux r20
Apache 2.4.10
libxml2
This is from the same link you posted
xmlBufferPtr buf;
/* Create a new XML buffer, to which the XML document will be
* written */
buf = xmlBufferCreate();
if (buf == NULL) {
printf("testXmlwriterMemory: Error creating the xml buffer\n");
return;
}
/* Create a new XmlWriter for memory, with no compression.
* Remark: there is no compression for this kind of xmlTextWriter */
writer = xmlNewTextWriterMemory(buf, 0);
if (writer == NULL) {
printf("testXmlwriterMemory: Error creating the xml writer\n");
return;
}
after you finish writing to the memory buffer you can
fprintf(file, "%s", buf->content);
or if you used open
write(fd, buf->content, buf->size);