I'm just taking some parts fromhttp://www.docx4java.org/svn/docx4j/tru ... arted.html
Selecting your insertion/editing point;
accessing JAXB nodes via XPath
Sometimes, XPath is a succinct way to select the things you need to change.
Happily, from docx4j 2.5.0, you can do use XPath to select JAXB nodes:
MainDocumentPart documentPart = wordMLPackage.getMainDocumentPart();
String xpath = "//w:p";
List<Object> list = documentPart.getJAXBNodesViaXPath(xpath, false);
These JAXB nodes are live, in the sense that if you change them, your document changes.
There is a limitation however: the xpath expressions are evaluated against the XML document as it was when first opened in docx4j. You can update the associated XML document once only, by passing true into getJAXBNodesViaXPath. Updating it again (with current JAXB 2.1.x or 2.2.x) will cause an error.
I think that this is enough...