我正在研究一个将COLLADA导出功能添加到现有程序(PyMOL)的项目,并尝试使用COLLADA DOM库来帮助编写输出文件。我想了解各种“保存”功能的现有结构,其中将要导出的文本附加到可变长度数组中,然后由父函数将其写入磁盘。

我遇到的麻烦是:我没有找到一种将COLLADA文件输出为字符串的方法,因此无法将其附加到VLA。我发现的所有DOM示例都可以直接处理文件,读取并保存到它们,并且花了几天的时间对源进行梳理后,我找不到能返回DAE(COLLADA)对象的XML字符串的函数。 。

例如,可以使用DOM的write()writeAll()函数将文件写入磁盘,例如DOM Guide中的示例:

#include <dae.h>

int main() {
    DAE dae;
    dae.add("simple.dae");
    dae.writeAll();
    return 0;
}

我想做的是这样的:
string generateXmlString() {
    DAE dae;
    dae.add("simple.dae");
    string output = dae.getXml("simple.dae");  // this function doesn't exist
    return output;
}

生成XML字符串的位置,而不是将其分配给变量或直接返回,而不是写入文件中。

有没有办法使用COLLADA DOM做到这一点?如果是这样,我希望看到一个例子。

或者,是否有另一个库可以让我以更简单的方式完成此任务?

谢谢!

最佳答案

我试图使COLLADA DOM工作了一段时间,但最终放弃了,并决定改用libxml2。它有充分的文档记录,并且易于使用,并且没有像其他UNIX系统中预装的那样增加过多的依赖关系。

关于c++ - 使用COLLADA DOM将COLLADA文档输出为字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20794097/

10-11 01:04