使用COLLADADOM将COLLADA文档输出为字符串
Output a COLLADA document as a string using COLLADA DOM
我正在进行一个项目,将COLLADA导出功能添加到现有程序(PyMOL)中,并尝试使用COLLADA DOM库来帮助编写输出文件。我想遵循的各种"保存"函数都有一个现有的结构,其中要导出的文本被附加到一个可变长度的数组中,然后由父函数将其写入磁盘。
我遇到的问题是:我还没有找到一种方法将COLLADA文件输出为字符串,以便将其附加到VLA。我发现的所有DOM示例都可以直接处理文件,从中读取并保存到文件中,在花了几天时间梳理源代码后,我找不到一个函数可以返回DAE(COLLADA)对象的XML字符串。
例如,可以使用DOM的write()
或writeAll()
函数将文件写入磁盘,如DOM指南中的示例:
#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的系统上预装的那样增加太多额外的依赖项。
相关文章:
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- 如何从void函数输出字符串
- 输出字符串数组
- 如何输出字符串第二个单词的第一个字母?
- 多线程环境中的输出字符串流出现问题
- 输出字符串到cmd显示的右显示,但未被认为是命令
- 读取文本文件并输出字符串
- 输出字符串使用 C++ 覆盖 Linux 终端上的最后一个字符串
- 如何在C++中输出字符串的向量
- 无法从类模板输出字符串
- FWRITE 输出字符串不正确
- Qt单元测试输出字符串长度截止
- 无法显示输出字符串
- 如果条目大于90,则输出字符串的布尔函数
- C++不带 'n' 或 endl 的输出字符串将在字符串末尾输出'#'
- 在C++中输出字符串和 strncpy 时遇到问题
- 获取c#输出字符串参数值为c++ BSTR*
- C++初学者,开关不输出字符串的第一个字符
- 输出字符串/字符错误(c++)
- Getline()省略输出字符串的第一个字母