我使用docx4j将自定义XML部分绑定到word文档,但是我收到一条无法解决的错误消息。我已经完成了这些步骤:
当我打开文档时,绑定成功,XML数据出现在文档中。但是,当我运行Java代码将docx文件绑定到xml文件时,我收到一个错误:
org.docx4j.openpackaging.exceptions.Docx4JException: No xpathStorageItemId found, does the document contain content controls that are bound?
我用来进行绑定的代码来自docx4j示例
try{
WordprocessingMLPackage wordMLPackage = Docx4J.load(new File(input_DOCX));
File inputFile = new File(input_XML);
FileInputStream xmlStream = new FileInputStream(inputFile);
Docx4J.bind(wordMLPackage, xmlStream, Docx4J.FLAG_BIND_INSERT_XML & Docx4J.FLAG_BIND_BIND_XML);
Docx4J.save(wordMLPackage, new File(OUTPUT_DOCX), Docx4J.FLAG_NONE);
System.out.println("Saved: " + OUTPUT_DOCX);
}catch(IOException ex){
ex.printStackTrace();
}catch(Docx4JException ex){
ex.printStackTrace();
}
文档上有一些与自定义XML部件无关的内容控件。这可能是错误的原因吗?所有内容控件都必须有XPATH吗?