我需要能够根据文件的内容识别给定文件是OOXML文件,而不是文件的扩展名。
OOXML文件实际上是zip容器中的XML和文本文件的集合,这意味着我无法使用该文件的幻数,因为它只是表明它是一个zip文件。
所以我真正要求的是在OOXML Open Packaging Convention(OPC)容器中是否存在必需的文件?如果是这样的话OPC容器中的该文件表明它可能是一个OOXML文件,并且缺少该文件表明它肯定是不一个OOXML文件。
这个问题是this ODF question的OOXML版本。
答案 0 :(得分:4)
是的,有办法。转到OpenXMLDeveloper.org并下载“02:Open XML Packages”的PPTX(演示文稿02)。然后,在幻灯片12上,它告诉您如何识别Open XML文档。它是document.xml,rels文件和[Content_Types] .xml文件(最重要的是ContentType元素)。这里重要的是使用文件中的内容,而不是文件结构本身(Open Packaging Convention)。
另一个很棒的资源是Open XML Markup Explained。第1章,然后“设置主文档”是一个了解Word docx结构的好地方。稍后将列出Excel和PowerPoint的结构。
答案 1 :(得分:1)
与我给你的ODF问题类似的答案 - 看看technical specification of the format。