我有一个j ava程序,在document.xml中搜索rsidR =" 00CA303F" (解压缩DOCX)。
<w:sdtContent>
<w:r w:rsidR="00CA303F">
<w:rPr>
<w:rFonts w:cs="Arial"/>
<w:b/>
<w:sz w:val="18"/>
<w:szCs w:val="18"/>
<w:lang w:val="en-US"/>
</w:rPr>
<w:t>17-Jan-14</w:t>
</w:r>
</w:sdtContent>
问题:如果我更改类似docx中的日期以及保存文件后,此 rsidR更改!,我下次无法找到它在我的计划中。
我如何冻结它?或者我可以添加哪个其他固定元素到w:r以便在保存文件后找到它?
我试过的解决方案(不工作):我添加了其他标签(希望它们不会改变),我尝试了例如:w:rsidRDefault,w:id,w:val,w:rsidRPr to this w :r,但Word之后无法打开文件docx。
答案 0 :(得分:0)
Word或OpenXML文件格式不提供向元素添加ID的直接方式,如果编辑文档,该元素也会保留。
作为一种变通方法,您可以创建一个字符样式,然后将其应用于您感兴趣的文本。然后,您可以在{{1}中搜索具有正确字符样式的w:rStyle
元素。 } attribute:
w:val
答案 1 :(得分:0)
应该可以为包含 w:sdt
(在后代w:sdtPr/w:id/@w:val
中)分配唯一ID。例如,请参阅sdtPr的docx4java文档。
有关rsid的一个很好的解释,以及MS Word如何使用它们,都在What's up with all those rsid's中。在许多应用程序中,完全忽略它们是无害的。