我正在实施Word 2010 VSTO加载项,以使用户能够在Microsoft Word中编辑富文本内容。该加载项将用户创建的内容作为WordprocessingML标记保存到数据库。我需要提供在单个Word文档中编辑多个数据库项的功能。当用户保存文档时,加载项将每个项的XML上载到数据库。
我遇到的问题是如何识别哪个XML片段属于哪个项目。理想情况下,我想要实现的是类似于HTML中的div
元素,我可以使用它来包装每个项目并为每个div
添加自定义标识符。然后在保存文档后,我可以获取每个div并提取它的内部XML。
不幸的是,我目前发现的最佳解决方案是使用书签来标记文档中每个项目的开头和结尾。但是,这似乎很难实现,因为我必须解析每个项目的文档,找到开始和结束书签,提取所有兄弟XML节点,然后确保所有XML元素都正确关闭(从开始和结束书签可以在XML文档中的不同级别上)。这似乎非常复杂且容易出错。
我想知道是否有人有类似的问题,并且知道更好的解决方案吗?