这是我以前的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/