/** Example of how to find an object in document.xml via traversal (as opposed to XPath) */ public static void main(String[] args) throws Exception { String inputfilepath = System.getProperty("user.dir") + "/checkbox.docx"; WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.load(new java.io.File(inputfilepath)); MainDocumentPart documentPart = wordMLPackage.getMainDocumentPart(); Finder finder = new Finder(FldChar.class); // <----- change this to suit new TraversalUtil(documentPart.getContent(), finder); System.out.println("got " + finder.results.size() + " of type " + finder.typeToFind.getName()); for (Object o : finder.results) { Object o2 = XmlUtils.unwrap(o); // this is ok, provided the results of the Callback // won't be marshalled if (o2 instanceof org.docx4j.wml.Text) { org.docx4j.wml.Text txt = (org.docx4j.wml.Text) o2; System.out.println(txt.getValue()); } else { System.out.println(XmlUtils.marshaltoString(o, true, true)); } } }