我正在研究一个将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/