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

Deadly 提交于 2020-01-07 05:53:26

问题


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


回答1:


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


来源:https://stackoverflow.com/questions/27798232/is-it-possible-to-send-libxml-output-to-a-file-handle

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!