openxml - 如何将 OpenXml 段落识别为我以编程方式插入的段落?

标签 openxml

我正在以编程方式将 OpenXML 段落添加到 Word 文档中,并且稍后我需要能够将该段落识别为我的段落。关于如何做到这一点有什么想法吗?我尝试插入 XML 注释和扩展属性,但是当您将文档保存在 word 中时,它会删除所有未知的 xml。它是段落或运行中的属性,还是段落之前的元素并不重要,只是我稍后可以识别它的某种方式。另外,我不希望此标识符在 Word 文档中可见。

我可以使用的示例:

<paragraph id="myParagraph"></paragraph>
<otherelement>myparagraph</otherelement>
<paragraph></paragraph>

任何帮助都会很棒,因为我的头因我遇到的砖墙而受伤。

谢谢!

最佳答案

给段落一个w:rsidR属性并为其分配一个唯一的值;如果 word 保存文档时不存在任何值,它无论如何都会随机分配它自己的 8 位十六进制值。 (该值不限于 8 位数字或十六进制字符。Word 不会修改现有的 RSID。)

话虽如此 - 确保保持 RSID 值唯一并且不要修改现有的 RSID 属性 - 它们是该段落的唯一 ID,并且如果文档拆分为多个版本并且用户尝试将它们合并在一起这些 RSID 用于确定哪些段落已更改。

(另请注意,运行也有 RSID。)

如果用户修改该段落,该段落的 RSID 可能会更改。

替代选项是使用自定义 XML:http://msdn.microsoft.com/en-us/library/bb608618.aspx

关于openxml - 如何将 OpenXml 段落识别为我以编程方式插入的段落?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9071703/

相关文章:

c# - DocumentFormat.OpenXml 将图像添加到 word 文档

c# - 如何创建使用表格作为数据源的折线图?

ms-office - 使用 Office "open"XML - 这有多难?

java - 合并 word(docx) 文档与 DOCX4J : how to copy images?

c# - 有没有办法使用 OpenXml 从列中获取最后填充的行单元格值

c# - OpenXml.Spreadsheet 类在简单的 excel 文件上抛出 FileFormatException 错误

.net - 如何使用 OpenXML SDK 2.0 生成目录?

c# - 如何从 Word 文档复制富文本内容控件的内容并使用 Open XML SDK 删除控件本身

c# - 在 c# 中使用 openxml sdk 检测 word 文档中的粗体、下划线文本和标题