是否可以将libxml输出发送到文件句柄? [英] Is it Possible to Send libxml Output to a File Handle?

查看:129
本文介绍了是否可以将libxml输出发送到文件句柄?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我先前的问题的简化版本.可能由于情况太过具体而无法允许任何人回答.

This is a simplified version of my earlier question, which may have been too situation specific to allow anyone to answer.

是否可以将libxml输出发送到先前打开的文件(EG stdin)的文件句柄,而不是

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.

版本等 语言:C Fedora Linux r20 阿帕奇2.4.10 libxml2

Versions etc. Language: C Fedora Linux r20 Apache 2.4.10 libxml2

推荐答案

这与您发布的链接相同

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

,或者如果您使用的是open

or if you used open

write(fd, buf->content, buf->size);

这篇关于是否可以将libxml输出发送到文件句柄?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆