私はdocxファイルのすべての内容を読む必要があるプロジェクトがありますが、それを取得する方法はわかりません。私が得ることのできるものはすべて段落のリストです。私はここでも をテキストボックス内のデータを取得したい私のコードです:docx4jでdocxファイルのテキストボックスのデータを取得する方法
List<Object> texts = getAllElementFromObject(document.getMainDocumentPart(), P.class);
私は方法getAllElementFromObject(document.getMainDocumentPart(), CTTextbox.class);
を使用しようとしましたが、まだカントは、テキストボックスのデータを取得します。
私の方法getAllElementFromObject()
:
public static List<Object> getAllElementFromObject(Object obj, Class<?> toSearch) {
List<Object> result = new ArrayList<Object>();
if (obj instanceof JAXBElement) obj = ((JAXBElement<?>) obj).getValue();
if (obj.getClass().equals(toSearch))
result.add(obj);
else if (obj instanceof ContentAccessor) {
List<?> children = ((ContentAccessor) obj).getContent();
for (Object child : children) {
result.addAll(getAllElementFromObject(child, toSearch));
}
}
return result;
}