我们已经编写了一个软件,该软件可以处理Word文档的内部XML文件中的XML,并用替换值替换某些代码。有时我们发现这样的代码在多次运行之间被打乱了。这是我们有时会遇到的一类例子:
<w:r>
<w:rPr>
<w:szCs w:val="24"/>
</w:rPr>
<w:t xml:space="preserve">After all, if you trust [CAN:Forename.ATTORNEY#01] enough to give</w:t>
</w:r>
<w:r>
<w:rPr>
<w:color w:val="000000"/>
</w:rPr>
<w:t>[CAN:ObjPronoun.ATTORNEY#01</w:t>
</w:r>
<w:r>
<w:rPr>
<w:szCs w:val="24"/>
</w:rPr>
<w:t xml:space="preserve">] power of attorney, you should trust </w:t>
</w:r>
<w:r>
<w:rPr>
<w:color w:val="000000"/>
</w:rPr>
<w:t>[CAN:ObjPronoun.ATTORNEY#01</w:t>
</w:r>
<w:r>
<w:rPr>
<w:szCs w:val="24"/>
</w:rPr>
<w:t>] enough to make the right decisions at the time.</w:t>
</w:r>
该段开头很好,将完整代码[CAN:Forename.ATTORNEY#01]
很好地嵌入了一个w:t
节点中,这很完美,但是在此之下,还有一个w:t
节点,其中包含代码的开始[CAN:ObjPronoun.ATTORNEY#01
,但w:t
标签结束,而下一次运行的结束]
。
用户体验是该段落的开头呈现得很好,因为[CAN:Forename.ATTORNEY#01]
被呈现为某人的名字。但是,如果用户在其Word文档中看到[CAN:ObjPronoun.ATTORNEY#01]
,并且 them 看起来很不错,那么他们希望它们也可以呈现为某些文本,我们看不到该代码,因为它是分割成多次运行,因此呈现的文档仍然包含代码,而不是其替换值。
现在有我的问题。...
任何人都可以解释为什么会发生这种情况吗?如果用户只是键入代码就可以了,但是如果他们回过头来仔细研究该段落,则似乎会发生这种情况。有什么我们可以告诉用户的“不做”或“不做”,或“确保您这样做”的方法。还是Word中的选项可以阻止这种情况的发生?
用户是否可以通过MS Word前端独家采取纠正此类段落的操作?目前,我们正在指示他们突出显示整个段落,将其剪切,粘贴到记事本中(该段落将丢失用户修改历史记录中留下的所有怪异碎屑),再次从记事本中复制并粘贴回Word中。是。这样可行。至少可以说,这有点... 不令人满意。因此,如果有本机Word方法可以实现相同的目的,那将更加优雅。...
答案 0 :(得分:1)
这里的问题既不是用户在Word中的行为,也不是跨w:r
元素的文本表示。问题在于该软件天真地假定要替换的文本必须存在于单个w:r
元素中。就其本身而言,这只是一个错误的假设。
您的选项包括
答案 1 :(得分:0)
同时,回到牧场,我实际上找到了解决这个问题的非常简单的方法。
用户可以识别出运行不正常的段落,因为在处理之后,该段落仍包含代码,而不是其替换值。
要修复该段落,他们所需要做的就是使用格式刷。选择他们喜欢的格式,将其应用于整个有问题的段落以及Bob的叔叔,此问题已解决。