Below is some code that works fine in general, however it's throwing an error on the attached document.
Is there any way to view the node tree of a document through Aspose.Words. We use Aspose & I often run into errors. I find it very hard to debug, since I don't know exactly why the error is happening. Below is one example. Is there any way for me to debug this on my own, or should I continue posting in the forums?
The following code throws an error on the attached document
- private static string GetHtmlFromBookmark(string bookmarkName, Document doc, SaveFormat ThisSaveFormat)
- {
- Document docClone = doc.Clone();
- Document doc1 = new Document();
- Bookmark mark = docClone.Range.Bookmarks[bookmarkName];
- Node node = mark.BookmarkStart.ParentNode;
- Node endNode = mark.BookmarkEnd.ParentNode.NextSibling;
- while (!node.Equals(endNode))
- {
- if ((node as CompositeNode).ChildNodes.Contains(mark.BookmarkStart))
- {
- Node child = (node as CompositeNode).FirstChild;
- Node endChild = mark.BookmarkStart.NextSibling;
- while (!child.Equals(endChild))
- {
- child = child.NextSibling;
- child.PreviousSibling.Remove();
- }
- }
- if ((node as CompositeNode).ChildNodes.Contains(mark.BookmarkEnd))
- {
- Node child = mark.BookmarkEnd;
- while (!child.Equals(child.ParentNode.LastChild))
- {
- child = child.NextSibling;
- child.PreviousSibling.Remove();
- }
- child.Remove();
- }
- doc1.FirstSection.Body.AppendChild(doc1.ImportNode(node, true, ImportFormatMode.KeepSourceFormatting));
- node = node.NextSibling;
- if (node == null)
- break;
- }
- MemoryStream stream = new MemoryStream();
- doc1.Save(stream, ThisSaveFormat);
- string html = Encoding.UTF8.GetString(stream.GetBuffer());
- return html;
- }