![](/img/trans.png)
[英]java.lang.NoSuchMethodError: org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTbl.getTrList()Ljava/util/List while using Apache POI library
[英]What is CTP, CTTbl classes (objects) in Apache POI?
我正在嘗試了解Apache POI的某些部分。 例如,我試圖從現有的docx文件中獲取文本(或表格等)。 例如,XWPFDocument中有一個方法getParagraph(.. CTP p) :
它返回“帶有CTP類p的段落”。 但什么是CTP類? 我查看了文檔的xml結構,但沒有找到類似的東西。 因此,我不知道如何首先調用方法。 對於相同的XWPFDocument, 還有一個方法getTable(CTTbl CTTbl) ,它通過其CTtbl-Object返回一個表。
對於ooxml文檔中的每個部分/類型的數據,似乎都有一個CP *,所以我想了解如何使用它們。 此外,從文檔中可以看出,這些方法似乎是獲取元素而不將其粘貼到集合中或猜測其位置的唯一直接方法。
CTx類是XMLBeans包裝器 。 它們是從已發布的OOXML規范XML Schema文件中自動生成的。
如果文件中的xml元素是p
,那么OOXML的結果XMLBeans包裝器將是CTP
。 如果它是table
,那么它將是CTTable
。 xml元素的命名空間將構成類的包,因此如果您有兩個具有相同本地名稱但名稱空間不同的不同元素,那么您將能夠找出所需的元素。
如果您有選擇,請不要使用CT類。 它們是低級的,需要您了解底層文件格式的結構和格式。 它們通常僅用於高級用例。
使用Apache POI用戶模型包裝類幾乎可以為常見用例做一些事情,只有在可以的情況下才使用它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.