【发布时间】:2012-07-11 15:13:17
【问题描述】:
使用来自 docx4j 的XMLUtils.marshalToString(),我在两个 docx 文件中的相同位置有以下内容(解压缩 .docx 后从相应的word/document.xml 中提取)。这些是文件之间的唯一区别:
和
在第一个文档中,<w:t> 节点如上输出。
但是,在第二个中,一个空的<w:t> 节点打印如下:
我检查了http://www.schemacentral.com/sc/ooxml/e-w_p-1.html 的w:t 架构,w:r 是一个有效的包含元素。
编辑:上面的链接是w:p 元素的架构,而不是w:t。 w:t 的正确链接是:http://www.schemacentral.com/sc/ooxml/e-w_t-1.html。它清楚地显示了w:t 唯一可接受的内容是字符串(不是w:r 或任何其他标签)。因此(正如下面 Jason 的回答所建议的那样),来自 document.xml 的 XML 无效,并且(因此)没有被解组到 docx4j 中。因此,XmlUtils.marshalToString() 无法输出文本。
是什么阻止了第二个块被输出?
【问题讨论】:
标签: docx4j