0

有谁知道,是否可以将 DXL(Domino XML)作为 NotesDocument 对象打开?

安装 Notes 客户端后,您可以添加对“Interop.Domino”的引用并将 Domino 对象与 C# 一起使用。事实上,我已经尝试了一些 DXLImporter 的东西,但没有运气......看来,DXLImporter 只能导入 NotesDatabases。

有没有办法将 DXL 导出文件 (NotesStream) 作为 NotesDocument 打开以将内容作为 Notes 对象访问?(尤其是富文本)

任何想法?非常感谢。

// 硅

4

1 回答 1

2

NotesDocument 对象永远不能独立存在。它总是需要一个父数据库。无论您如何获得 NotesDocument 对象,这都是正确的。在您的特殊情况下,您需要一个用于将 XML 导入到的“哑”容器 nsf。导入后,您可以访问 NotesDocument。

您需要使用其universalid 查找文档。这个universalid可以在XML中作为“unid”找到——nodeinfo-节点的属性:

<document xmlns='http://www.lotus.com/dxl' version='9.0' maintenanceversion='1.4' 
  replicaid='C1257C270049C111' form='Offer'>
  <noteinfo noteid='188a6' unid='FE4CB54C2D7C9ABCC1257E620027FCE4' sequence='3'>

正如 Stan 在评论中所说,这可能会或可能不会起作用。如果具有该 UNID 的文档已经存在和/或相应地设置了导入选项,则导入的文档可以获得不同的 Universalid。更好的用户 NotesDXLExporter.GetFirstImportedNoteID 来获取文档。

你甚至可以从一个 xml-struct 中导入整个数据库,但是对于这样一个简单的任务来说,这可能是一个很大的开销,当然这取决于你的需要。

作为“hack”或“解决方法”,您可以将此文档导入数据库,该数据库始终存在于任何 Lotus Notes 客户端上,例如 bookmark.nsf 或 names.nsf,但我不建议这样做。

于 2015-07-06T12:49:42.083 回答