前言:我正在研究用于java的docx解析器。 docx格式基于xml。当我阅读文档时,其部分被解组(JAXB)。我得到了一些基于xml标记的元素的树。在apache.xerces中处理类实例的对象的正确方法是什么?
几乎问题:但是一些元素(这是在非常深的XML级)不返回某些类从DOCX规范(即CTStyle,CTDrawing,CTInline等),但作为对象。这些对象确实是xerces类的实例,例如ElementNSImpl。
问题:我应该如何处理来自xerces的对象(例如ElementNSImpl)?最简单的方法是:
CTGraphicData gData = getGraphicData();
Object obj = gData.getAny().get(0);
ElementNSImpl element = (ElementNSImpl)obj;
但它似乎不是一个好的解决方案。我从来没有直接使用过xerces。有什么更好的方法来做这个铸造? (如果有人也给我一个关于正确的方式来遍历节点的提示,那将是很棒的)。
不,一切正常。这是规范中的“任何”。 – Roman 2010-03-23 15:24:48
然后你在DOM业务。 – bmargulies 2010-03-23 15:27:27
感谢您的回答,它至少是一个很好的起点。顺便说一句'任何':你认为我不能'硬编码'的路径,必须使用XPath?我想说:“任何”意味着什么都可以有。 – Roman 2010-03-23 15:28:18