.net DOCX文件中合并字段的异常XML符号。

.net DOCX文件中合并字段的异常XML符号。,.net,openxml-sdk,docx,mergefield,.net,Openxml Sdk,Docx,Mergefield,在我们的文档生成系统中,我们使用DOCX文件以编程方式填写合并字段。为此,我使用OpenXMLSDK2.0 我在de docx中仔细查看document.xml文件,发现合并字段通常由SimpleField表示。我们使用的文档示例如下: <w:fldSimple w:instr=" MERGEFIELD NP021_INSSNumber \* MERGEFORMAT "><w:r><w:rPr><w:noProof/></w:rPr>

在我们的文档生成系统中,我们使用DOCX文件以编程方式填写合并字段。为此,我使用OpenXMLSDK2.0

我在de docx中仔细查看document.xml文件,发现合并字段通常由SimpleField表示。我们使用的文档示例如下:

<w:fldSimple w:instr=" MERGEFIELD  NP021_INSSNumber  \* MERGEFORMAT "><w:r><w:rPr><w:noProof/></w:rPr><w:t>«NP021_INSSNumber»</w:t></w:r></w:fldSimple>
«NP021_INSSNumber»
一种相当简单的表示法,包含mergefield命令和要在文档中显示的文本。在XML中很容易找到这个标记,只需搜索w:fldSimple标记。(我删除了一些样式标记以使其更具可读性)

但是最近用Word创建的文档没有在我们的代码中进行解析,当我查看XML时,mergefields的表示法完全不同:

<w:instrText xml:space="preserve"> MERGEFIELD  NP021_INSSNumber  \* MERGEFORMAT </w:instrText>
MERGEFIELD NP021\u INSSNumber\*MERGEFORMAT
后来在文档中我找到了显示符号:
«NP021\u INSSNumber»
这在代码中是不可能解析的

在Word中做同样的事情怎么可能会产生如此不同的结果,有没有办法确保Word使用SimpleFields作为合并字段的XML表示法

预先感谢任何有用的输入。

我会考虑并在分析之前。

请注意,标记简化器包含在中


您可能会在中找到更多有用的资料。

我看到了同样的问题,尝试使用修订接受程序和简化标记并不能解决它。我的合并字段仍然作为instrText保留,并且没有转换回fldSimple。以前有人看到过吗?我看到了同样的问题,尝试修改接受程序和简化标记并不能解决它。我的合并字段仍然作为instrText保留,并且没有转换回fldSimple。以前有人见过这个吗?您是如何解决这个问题的?看起来两者都受支持-这些文档()区分简单字段和复杂字段