2013-06-26 108 views
-1

我想要從.docx文件中存在的子表中讀取特定文本。 有沒有像java中支持xpath遍歷或類似api的有效方法。Xpath搜索.docx

目前我嘗試使用java apache poi閱讀.docx(下面的代碼片段),但是這樣我必須基於標籤'w:tr'遍歷所有節點並讀取節點文本值。是否有任何方法來快速檢索基於searchpattern如xpath所需的數據? 。任何輸入是高度讚賞。

   File myFile = new File("D:\\XLS-Pages\\TestSherwin.docx"); 
       ZipFile docxFile = new ZipFile(myFile); 
     ZipEntry documentXML = docxFile.getEntry("word/document.xml"); 
     InputStream documentXMLIS = docxFile.getInputStream(documentXML); 
     DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 
     org.w3c.dom.Document doc = dbf.newDocumentBuilder().parse(documentXMLIS); 

     org.w3c.dom.Element tElement = doc.getDocumentElement(); 
     NodeList n = (NodeList) tElement.getElementsByTagName("w:tr"); 
+1

您是否嘗試遵循許多Java XPath教程中的任何一個?如果是這樣,將它們應用到文件時遇到了什麼問題? – Gagravarr

回答

1

您可以在docx4j中使用XPath;支持基於JAXB對XPath的支持,並帶來各種限制。