在使用docx4j解析DOCX时,如何检测org.docx4j.wml.instrText?

时间:2016-06-28 12:16:39

标签: docx4j

我想用docx4j库解析docx文件。

我需要检测org.docx4j.wml.instrText对象,但实际上它返回的是org.docx4j.wml.Text而不是org.docx4j.wml.instrText。

我找到了一个与此库的旧版本一起使用的解决方案:

http://www.docx4java.org/forums/docx-java-f6/can-i-just-don-t-load-contents-of-w-instrtext-into-text-t193.html

实际上这个解决方案:

 ((javax.xml.bind.JAXBElement)((org.docx4j.wml.Text) o).getParent()).getName().getLocalPart()

但是使用最新的更新它不起作用。您能否告诉我我必须对此代码做出哪些更改?

实际上它会产生一个类型转换错误,无法将org.docx4j.wml.R转换为JAXBElement。

提前致谢。

1 个答案:

答案 0 :(得分:1)

Text对象的父级,由:

给出
 ((org.docx4j.wml.Text) o).getParent()
正如错误所说,

是org.docx4j.wml.R,您无法将其强制转换为JAXBElement。

要识别您的对象,请尝试:

((javax.xml.bind.JAXBElement)o).getName().getLocalPart()