巨大的 xml Collada 文件。用dom就可以了,怎么样?

Posted

技术标签:

【中文标题】巨大的 xml Collada 文件。用dom就可以了,怎么样?【英文标题】:Huge xml Collada file. Use dom on it, how? 【发布时间】:2016-10-02 15:52:26 【问题描述】:

我们有一个巨大的任务(别担心,上周截止日期已经过去,所以这不是作弊),现在我正试图弄清楚这个文件是关于什么的。

我没有得到关于文件的信息,只有电子邮件中的代码,我的任务是以“好的方式”表示数据。为此,我选择使用 DOM。 问题是,我真的不知道这个文件是关于什么的。 1.你用它做什么? 2. 为什么以及如何使用它? 3. 这个东西中什么样的数据显示在网页上会很有趣?

抱歉,我提出了一个非常模糊的“问题”,真的不知道该问什么。 关于这个文件的任何信息我都很感兴趣,只是想了解一下!

最后: Link to the XML-document/structure tree

【问题讨论】:

【参考方案1】:

这是一个 COLLADA 文件,包含 3D 内容。实际上,对于 3D 内容来说,它并没有那么大,我看过一些超过 100 Mb 的例子。这就是它在 Sketchup 中的样子:

缺少显示纹理所需的一些图像文件。但是它们不在链接上,因此纹理化不成功。 您可以尝试使用 DOM 解析文件并自己显示,这可能不是最快的方式。或者您可以为您的网页使用一些现有的 API,例如 three.js,我建议您这样做。你真的不想处理 COLLADA 的实习结构。

【讨论】:

我们只能在 DOM、XSLT 等之间进行选择,测试我们是否掌握了它是一项艰巨的任务。我有点认为这个文件不公平,因为我真的没有办法以一种好的方式显示它的内容? @Cset 你需要一个查看器。 DOM 不是查看器,你可以用它来解析文件,但是你仍然需要一个图形界面来显示它。 啊,真是太好了!因为我们只能使用其中一个(课程只是关于这个)。很害怕有一种方法可以用我不理解的 DOM 来展示它。但如果是这样的话,我似乎做对了一切! :) 快速提问,如果您必须仅使用 DOM 显示此文件中的数据,您会放入什么数据,比如表格? 树是最好的显示选项,因为它具有层次结构。【参考方案2】:

该文件包含指向架构的链接,该链接又包含指向 http://www.khronos.org/files/collada_spec_1_4.pdf 的规范的链接。规范回答了您的问题。

【讨论】:

是否有可能以一种好的方式显示数据?我只能使用 DOM 并且似乎只能获取有关纹理、相机等的信息,而不能真正以图形方式显示它们? 既然有数据含义的规范,大概可以编写一个以吸引人的方式显示数据的应用程序。但这可能需要几个月的努力:如果不研究规范,我不知道。一些 XML 文件(Microsoft Word 文件就是一个例子)非常复杂,提取信息是一项艰巨的任务。

以上是关于巨大的 xml Collada 文件。用dom就可以了,怎么样?的主要内容,如果未能解决你的问题,请参考以下文章

对DOM的理解

对DOM的理解

XML文件大小问题

Java Collada Parser - 基于 XML Pull 的实现

使用 WPF 查看 Collada

为啥我不能使用 Swift 4 加载 Collada 文件?