我們經常要遍歷FlowDocument文件 查詢元素,具體的寫法之一 :
列印出文件的結構
private void TransformImagesTo642(FlowDocument flowDocument) { TextPointer navigator = flowDocument.ContentStart; while (navigator.CompareTo(flowDocument.ContentEnd) < 0) { switch (navigator.GetPointerContext(LogicalDirection.Forward)) { case TextPointerContext.ElementStart: // Output opening tag of a TextElement Debug.WriteLine("<{0}>", navigator.GetAdjacentElement(LogicalDirection.Forward).GetType().Name); break; case TextPointerContext.ElementEnd: // Output closing tag of a TextElement Debug.WriteLine("</{0}>", navigator.GetAdjacentElement(LogicalDirection.Forward).GetType().Name); break; case TextPointerContext.EmbeddedElement: // Output simple tag for embedded element Debug.WriteLine("<{0}/>", navigator.GetAdjacentElement(LogicalDirection.Forward).GetType().Name); break; case TextPointerContext.Text: // Output the text content of this text run Debug.WriteLine(navigator.GetTextInRun(LogicalDirection.Forward)); break; } // Advance the naviagtor to the next context position. navigator = navigator.GetNextContextPosition(LogicalDirection.Forward); } // End while. }