前言:我正在为 java 开发 docx 解析器。docx 格式基于 xml。当我阅读文档时,它的部分正在被解组(使用 JAXB)。我得到了一个基于 xml 标记的某些元素的树。
几乎是问题:但是某些元素(在非常深的 xml 级别)返回的不是 docx 规范中的某个类(即 CTStyle、CTDrawing、CTInline 等),而是作为对象返回。这些对象确实是 xerces 类的实例,例如 ElementNSImpl。
问题:我应该如何处理来自 xerces 的对象(例如 ElementNSImpl)?最简单的方法是:
CTGraphicData gData = getGraphicData ();
Object obj = gData.getAny().get(0);
ElementNSImpl element = (ElementNSImpl)obj;
但这似乎不是一个好的解决方案。我从未直接与 xerces 合作过。进行这种铸造的更好方法是什么?(如果有人也给我一个关于迭代节点的正确方法的提示,那就太好了)。