【发布时间】:2015-07-17 15:20:30
【问题描述】:
一段时间以来,我一直在尝试使用 OpenXML 在 .docx 文档中检索用户评论或添加书签的文本。我尝试使用每个 cmets/书签的开始和结束标记构建字典和数组,并尝试浏览 XML 树节点以获取文本,但我没有获得所有文本(只是第一个孩子,即第一个字)。
IDictionary<String, BookmarkStart> bookmarkMapS = new Dictionary<String, BookmarkStart>();
IDictionary<String, BookmarkEnd> bookmarkMapE = new Dictionary<String, BookmarkEnd>();
var _bkms = doc.MainDocumentPart.RootElement.Descendants<BookmarkStart>();
var _bkme = doc.MainDocumentPart.RootElement.Descendants<BookmarkEnd>();
foreach (BookmarkStart item in _bkms)
{
Run bookmarkText = item.NextSibling<Run>();
if (bookmarkText != null)
{
try
{
for (int i = 0; i < bookmarkText.ChildElements.Count(); i++)
{
Console.WriteLine(bookmarkText.ChildElements.ElementAt(i).InnerText);
}
}
catch (Exception)
{
}
}
}
【问题讨论】: