是否可以知道,是否可以将DXL(Domino XML)作为NotesDocument对象打开?
安装Notes客户端后,您可以添加对“Interop.Domino”的引用,并将Domino对象与C#一起使用。 事实上,我尝试了一些DXLImporter的东西,但没有运气...... 看来,DXLImporter只能导入NotesDatabases。
有没有办法打开DXL导出文件(NotesStream)作为NotesDocument来访问作为Notes对象的内容? (尤其是Richtext)
有什么想法吗? 非常感谢。
// SiL
答案 0 :(得分:2)
NotesDocument-对象永远不会孤立无援。它始终需要父数据库。无论您如何获取NotesDocument对象,都是如此。 在您的特殊情况下,您需要一个用于导入XML的“哑”容器nsf。导入后,您可以访问NotesDocument。
您需要使用其universalid查找文档。这个universalid可以在XML中找到“unid” - nodeinfo- node的属性:
<document xmlns='http://www.lotus.com/dxl' version='9.0' maintenanceversion='1.4'
replicaid='C1257C270049C111' form='Offer'>
<noteinfo noteid='188a6' unid='FE4CB54C2D7C9ABCC1257E620027FCE4' sequence='3'>
正如斯坦在评论中所说,这可能会或可能不会奏效。如果已存在具有该UNID的文档和/或相应地设置了import-选项,则导入的文档可以获得不同的Universalid。 更好的用户NotesDXLExporter.GetFirstImportedNoteID来获取文档。
你甚至可以从xml-struct导入整个数据库,但这对于这么简单的任务来说可能需要很多开销,但当然这取决于你的需求。
作为“hack”或“workaround”,您可以将此文档导入数据库,该数据库始终存在于任何Lotus Notes客户端上,例如bookmark.nsf或names.nsf,但我不建议这样做。