这是我以前的question的简化版本,可能是针对特定情况而无法允许任何人回答。

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

如果是这样,它可能会为我先前的查询提供答案。

版本等
语言:C
Fedora Linux r20
阿帕奇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;
}


完成写入内存缓冲区后,您可以

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


或者如果您使用open

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

关于c - 是否可以将libxml输出发送到文件句柄?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27798232/

10-16 01:03