前言:我正在研究用於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