Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
384 views
in Technique[技术] by (71.8m points)

c - Is it Possible to Send libxml Output to a File Handle?

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

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

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
");
    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
");
    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);

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...