Ms word OpenXML冻结w:tags的固定ID

Ms word OpenXML冻结w:tags的固定ID,ms-word,openxml,openxml-sdk,Ms Word,Openxml,Openxml Sdk,我有一个java程序,它在document.xml(DOCX解压)中搜索rsidR=“00CA303F” 2014年1月17日 问题:如果我更改docx中的日期之类的内容,并且在保存文件后,这将rsidR更改我下次在我的程序中找不到它 我怎么能把它冻住?或者我可以向w:r中添加哪些其他固定元素,以便在保存文件后查找它? 我尝试的解决方案(不起作用):我添加了其他标记(希望它们不会改变),我尝试了例如:w:rsidrfault,w:id,w:val,w:rsidRPr到这个w:r,但是Word

我有一个java程序,它在document.xml(DOCX解压)中搜索rsidR=“00CA303F”


2014年1月17日
问题:如果我更改docx中的日期之类的内容,并且在保存文件后,这将rsidR更改我下次在我的程序中找不到它

我怎么能把它冻住?或者我可以向w:r中添加哪些其他固定元素,以便在保存文件后查找它?


我尝试的解决方案(不起作用):我添加了其他标记(希望它们不会改变),我尝试了例如:w:rsidrfault,w:id,w:val,w:rsidRPr到这个w:r,但是Word之后将无法打开文件docx。

Word或OpenXML文件格式不提供向元素添加id的直接方法,如果对文档进行编辑,也会保留该文档

作为一种解决方法,您可以创建一种字符样式,然后将其应用于感兴趣的文本。然后可以在
w:val
属性中搜索具有正确字符样式的
w:rStyle
元素:

<w:r w:rsidRPr="00E05157">
    <w:rPr>
        <w:rStyle w:val="MyCharacterStyle"/>
    </w:rPr>
    <w:t>17-Jan-14</w:t>
</w:r>

2014年1月17日

Word或OpenXML文件格式不提供向元素添加ID的直接方法,如果编辑文档,也会保留ID

作为一种解决方法,您可以创建一种字符样式,然后将其应用于感兴趣的文本。然后可以在
w:val
属性中搜索具有正确字符样式的
w:rStyle
元素:

<w:r w:rsidRPr="00E05157">
    <w:rPr>
        <w:rStyle w:val="MyCharacterStyle"/>
    </w:rPr>
    <w:t>17-Jan-14</w:t>
</w:r>

2014年1月17日

应该可以为包含的
w:sdt
(在后代
w:sdtPr/w:id/@w:val
中)分配唯一的id。有关详细信息,请参见docx4java文档


关于rsid的一个很好的解释,以及MS Word如何使用rsid,请参见。在许多应用程序中,完全忽略它们是无害的。

应该可以为包含的
w:sdt
(在后代
w:sdtPr/w:id/@w:val
中)分配唯一的id。有关详细信息,请参见docx4java文档


关于rsid的一个很好的解释,以及MS Word如何使用rsid,请参见。在许多应用程序中,完全忽略它们是无害的。

First thx对于答案,我尝试了您的解决方案,但在保存文件docx后,您的所有代码都被我在第一篇文章中编写的相同代码覆盖(我不知道为什么),如果您想要xml的其他部分,我可以毫无问题地提供给您。@Diego87:如果您将字符样式应用于文档中的文本部分并保存文件,则字符样式也将写入输出文档,就像我的示例Open xml中一样。2014年1月17日错误在哪里?和你的样品一样吗?如果我保存docx,这段代码将在没有w:rStyle的情况下被覆盖(我对ooxml,sry很新)@Diego87:您还需要确保字符样式是有效的现有字符样式。如果文档中还没有字符样式,您必须添加它。确实存在,因为我从同一文档上的其他w:rStyle复制了它。首先,我尝试了您的解决方案,但在保存文件docx后,您的所有代码都被我在第一篇文章中编写的相同代码覆盖(我不知道为什么),如果您想要xml的其他部分,我可以毫无问题地提供给您。@Diego87:如果您将字符样式应用于文档中的文本部分并保存文件,则字符样式也将写入输出文档,就像我的示例Open xml中一样。2014年1月17日错误在哪里?和你的样品一样吗?如果我保存docx,这段代码将在没有w:rStyle的情况下被覆盖(我对ooxml,sry很新)@Diego87:您还需要确保字符样式是有效的现有字符样式。如果文档中尚不存在字符样式,则必须添加它。请确保存在,因为我是从同一文档上的其他w:rStyle复制它的