是否可以将libxml输出发送到文件句柄?

时间:2015-01-06 12:00:39

标签: c libxml2

这是我早期question的简化版本,可能过于具体情况,无法让任何人回答。

是否可以将libxml输出发送到先前打开的文件(E.G. stdin)的文件句柄而不是these examples中使用的文件名?

如果是,那么它可以为我之前的查询提供答案。

版本等 语言:C Fedora Linux r20 Apache 2.4.10 libxml2的

1 个答案:

答案 0 :(得分:1)

这是您发布的链接

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

写完内存缓冲区后,你可以

fprintf(file, "%s", buf->content);

或使用open

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