Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#OpenXML 2.0替换段落和正文中的空书签_C#_Openxml_Openxml Sdk_Bookmarks - Fatal编程技术网

C#OpenXML 2.0替换段落和正文中的空书签

C#OpenXML 2.0替换段落和正文中的空书签,c#,openxml,openxml-sdk,bookmarks,C#,Openxml,Openxml Sdk,Bookmarks,我在legacube.de测试了许多解决方案(这是最漂亮的),甚至在这里找到的解决方案 但是,这对我的文档不起作用。我的书签部分位于“Body”中,而不在段落或表格中,因此上一个示例在尝试将给定的Body元素转换为段落时抛出异常。当然,我可以处理异常,但我不知道如何使代码工作 有没有真正有效的解决方案用OpenXML替换空书签 下面是一个使用OpenXML2.0生产力工具的文档结构示例: 以及元素的代码: 注:与问题相同的问题/问题,意味着我的文档中也有“灰色”框 在生产力工具的帮助下,我发

我在legacube.de测试了许多解决方案(这是最漂亮的),甚至在这里找到的解决方案

但是,这对我的文档不起作用。我的书签部分位于“Body”中,而不在段落或表格中,因此上一个示例在尝试将给定的Body元素转换为段落时抛出异常。当然,我可以处理异常,但我不知道如何使代码工作

有没有真正有效的解决方案用OpenXML替换空书签

下面是一个使用OpenXML2.0生产力工具的文档结构示例:


以及元素的代码:


注:与问题相同的问题/问题,意味着我的文档中也有“灰色”框

在生产力工具的帮助下,我发现结构有些奇怪: 书签开始在正文中,然后,有一段。在这一段中,我找到了书签的结尾。 示例:

w:bookmarkStart(bookmarkStart)
w:p(第段)
w:pPr(段落属性)
w:r(运行)
w:r(运行)
w:r(运行)
w:bookmarkEnd(bookmarkEnd)
这是一个格式良好的OpenXML文件吗

<> w:bookmarkStart (BookmarkStart)  
  <> w:p (Paragraph)  
  <> w:pPr (ParagraphProperties)  
  <> w:r (Run)  
  <> w:r (Run)  
  <> w:r (Run)  
  <> w:bookmarkEnd (BookmarkEnd)