序文: Java 用の docx パーサーに取り組んでいます。docx 形式は xml に基づいています。ドキュメントを読むと、その部分が非整列化されています (JAXB を使用)。そして、xml マークアップに基づいて特定の要素のツリーを取得します。
ほとんどの問題: しかし、いくつかの要素 (非常に深い xml レベルにある) は、docx 仕様 (つまり、CTStyle、CTDrawing、CTInline など) から特定のクラスとしてではなく、オブジェクトとして返されます。これらのオブジェクトは、ElementNSImpl などの xerces クラスのインスタンスです。
問題: xerces (ElementNSImpl など) からのオブジェクトをどのように処理すればよいですか? 最も簡単な方法は次のとおりです。
CTGraphicData gData = getGraphicData ();
Object obj = gData.getAny().get(0);
ElementNSImpl element = (ElementNSImpl)obj;
しかし、それは良い解決策ではないようです。xerces を直接操作したことはありません。このキャスティングを行うためのより良い方法は何ですか? (誰かがノードを反復する正しい方法についてのヒントもくれれば、それは素晴らしいことです)。