当前位置: 首页 > 知识库问答 >
问题:

什么是Apache POI中的CTP、CTTbl类(对象)?

芮立果
2023-03-14

我试图理解ApachePOI的某些部分。例如,我试图从现有的docx文件中获取文本(或表等)。例如,在XWPF文档中有一个方法get段落(... CTP p):
它返回“带有CTP类p的段落”。但是什么是CTP类呢?我已经查看了文档的xml结构,但没有找到任何类似的东西。因此,我不知道如何首先调用mthod。同样的XWPFDoc还有一个方法getTable(CTTbl CTTbl),它返回“一个由其CTtbl-Object组成的表”。

似乎在ooxml文档中的每一部分/类型的数据都有一个CP*的东西,所以我想了解如何使用它们。此外,从留档来看,这些方法似乎是获取元素的唯一直接方法,而无需将它们插入集合或猜测它们的位置。

共有1个答案

乜胜泫
2023-03-14

CTx类是XMLBeans包装器。它们是根据已发布的OOXML规范XML模式文件自动生成的。

如果文件中的xml元素是p元素,那么OOXML的XMLBeans包装器将是CTP。如果是table,那么它将是CTTable。xml元素的命名空间将在类的包中生成,因此,如果您有两个具有相同本地名称但不同命名空间的不同元素,那么您就可以通过这种方式确定您想要的是哪个。

如果你有选择的话,不要使用CT类。它们是低级的,需要您了解底层文件格式的结构和格式。它们通常只在高级用例中需要。

在ApachePOI用户模型包装类中,几乎所有你想为普通用例做的事情都是可能的,如果可以的话,只使用那些。

 类似资料:
  • 问题内容: Java中的类,对象和实例是什么? 问题答案: Java(和任何其他编程语言)是根据类型和值建模的。从理论上讲,值是某种信息量的表示,类型是一组值。当我们说值X 是类型Y 的实例时,我们只是说X是类型Y的值集合的成员。 这就是“实例”一词的真正含义:它描述的是一种关系而不是事物。 Java编程语言的类型系统支持两种类型,原始类型和引用类型。引用类型进一步分为类和数组类型。Java 对象

  • 问题内容: 我从一本书中了解PHP类时遇到严重问题。他们似乎很难。它们的目的是什么?它们如何工作? 问题答案: 简而言之 ,类是对象的蓝图。对象封装了应用程序中某些内容在概念上相关的状态和责任,并且通常提供与之交互的编程接口。这促进了代码重用并提高了可维护性。 想象一个锁: 忽略,而现在的声明。 Lock类是应用程序中所有Lock的蓝图。锁可以被 锁定 或 解锁 ,由 属性 表示。由于它只能具有这

  • 问题内容: 在给定的编程语言中,什么时候将对象或其他东西称为“一流”,为什么?它们与没有语言的语言有何不同? 编辑。当一个人说“一切都是对象”时(就像在Python中一样),他的确表示“一切都是一流的”吗? 问题答案: 简而言之,这意味着对对象的使用没有任何限制。它与任何其他对象相同。 第一类对象是可以动态创建,销毁,传递给函数,作为值返回并具有编程语言中其他变量所具有的所有权利的实体。 根据语言

  • CTP

    CTP 是微软公司发布的旨在将MySQL数据库迁移到微软的 SQL Server 数据库的工具。该工具目前支持 MySQL 4.1/5.0/5.1 以及 SQL Server 2005/2008。 下载:Microsoft SQL Server Migration Assistant 2005 for MySQL v1.0 CTP1 下载:Microsoft SQL Server Migratio

  • 问题内容: 您将如何在PySpark中使用和/或实现等效的案例类? 问题答案: 正如Alex Hall[所提到的,命名产品类型的真实等效项是。 与在其他答案中建议的不同,它具有许多有用的属性: 具有明确定义的形状,可以可靠地用于结构模式匹配: FooBar = namedtuple(“FooBar”, [“foo”, “bar”]) foobar = FooBar(42, -42) foo, ba

  • 我正在Swagger 2.0的帮助下编写一个API文档。我已经生成了一个API,其中响应在一系列书籍中,运行良好。 大摇大摆 好吧,我只想在中的一个API中发送一本书的详细信息,当我尝试对象不起作用时,我应该采取什么模式类型。 大摇大摆 由于对象不工作,swagger不显示格式。 当前状态: 预期状态: