Class DocumentVisitor

Class DocumentVisitor

اسم الفضاء : Aspose.Note تجميع: Aspose.Note.dll (25.4.0)

الطبقة الخفية للتحرك من خلال الأشجار تحت الأرض مع الجذر في العقد المحدد.

public abstract class DocumentVisitor

Inheritance

object DocumentVisitor

الأعضاء الموروثين

object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()

Examples

إظهار كيفية الوصول إلى محتوى المستند باستخدام زائر.

public static void Run()
                                                                   {
                                                                       // The path to the documents directory.
                                                                       string dataDir = RunExamples.GetDataDir_LoadingAndSaving();

                                                                       // Open the document we want to convert.
                                                                       Document doc = new Document(dataDir + "Aspose.one");

                                                                       // Create an object that inherits from the DocumentVisitor class.
                                                                       MyOneNoteToTxtWriter myConverter = new MyOneNoteToTxtWriter();

                                                                       // This is the well known Visitor pattern. Get the model to accept a visitor.
                                                                       // The model will iterate through itself by calling the corresponding methods
                                                                       // on the visitor object (this is called visiting).
                                                                       //
                                                                       // Note that every node in the object model has the Accept method so the visiting
                                                                       // can be executed not only for the whole document, but for any node in the document.
                                                                       doc.Accept(myConverter);

                                                                       // Once the visiting is complete, we can retrieve the result of the operation,
                                                                       // that in this example, has accumulated in the visitor.
                                                                       Console.WriteLine(myConverter.GetText());
                                                                       Console.WriteLine(myConverter.NodeCount);            
                                                                   }

                                                                   /// <summary>
                                                                   /// Simple implementation of saving a document in the plain text format. Implemented as a Visitor.
                                                                   /// </summary>
                                                                   public class MyOneNoteToTxtWriter : DocumentVisitor
                                                                   {
                                                                       public MyOneNoteToTxtWriter()
                                                                       {
                                                                           nodecount = 0;
                                                                           mIsSkipText = false;
                                                                           mBuilder = new StringBuilder();
                                                                       }

                                                                       /// <summary>
                                                                       /// Gets the plain text of the document that was accumulated by the visitor.
                                                                       /// </summary>
                                                                       public string GetText()
                                                                       {
                                                                           return mBuilder.ToString();
                                                                       }

                                                                       /// <summary>
                                                                       /// Adds text to the current output. Honors the enabled/disabled output flag.
                                                                       /// </summary>
                                                                       private void AppendText(string text)
                                                                       {
                                                                           if (!mIsSkipText)
                                                                           {
                                                                               mBuilder.AppendLine(text);
                                                                           }
                                                                       }

                                                                       /// <summary>
                                                                       /// Called when a RichText node is encountered in the document.
                                                                       /// </summary>
                                                                       public override void VisitRichTextStart(RichText run)
                                                                       {
                                                                           ++nodecount;
                                                                           AppendText(run.Text);
                                                                       }

                                                                       /// <summary>
                                                                       /// Called when a Document node is encountered in the document.
                                                                       /// </summary>
                                                                       public override void VisitDocumentStart(Document document)
                                                                       {
                                                                           ++nodecount;
                                                                       }

                                                                       /// <summary>
                                                                       /// Called when a Page node is encountered in the document.
                                                                       /// </summary>
                                                                       public override void VisitPageStart(Page page)
                                                                       {
                                                                           ++nodecount;
                                                                           this.AppendText($"*** Page '{page.Title?.TitleText?.Text ?? "(no title)"}' ***");
                                                                       }

                                                                       /// <summary>
                                                                       /// Called when processing of a Page node is finished.
                                                                       /// </summary>
                                                                       public override void VisitPageEnd(Page page)
                                                                       {
                                                                           this.AppendText(string.Empty);
                                                                       }

                                                                       /// <summary>
                                                                       /// Called when a Title node is encountered in the document.
                                                                       /// </summary>
                                                                       public override void VisitTitleStart(Title title)
                                                                       {
                                                                           ++nodecount;
                                                                       }

                                                                       /// <summary>
                                                                       /// Called when a Image node is encountered in the document.
                                                                       /// </summary>
                                                                       public override void VisitImageStart(Image image)
                                                                       {
                                                                           ++nodecount;
                                                                       }

                                                                       /// <summary>
                                                                       /// Called when a OutlineGroup node is encountered in the document.
                                                                       /// </summary>
                                                                       public override void VisitOutlineGroupStart(OutlineGroup outlineGroup)
                                                                       {
                                                                           ++nodecount;
                                                                       }

                                                                       /// <summary>
                                                                       /// Called when a Outline node is encountered in the document.
                                                                       /// </summary>
                                                                       public override void VisitOutlineStart(Outline outline)
                                                                       {
                                                                           ++nodecount;
                                                                       }

                                                                       /// <summary>
                                                                       /// Called when a OutlineElement node is encountered in the document.
                                                                       /// </summary>
                                                                       public override void VisitOutlineElementStart(OutlineElement outlineElement)
                                                                       {
                                                                           ++nodecount;
                                                                       }

                                                                       /// <summary>
                                                                       /// Gets the total count of nodes by the Visitor
                                                                       /// </summary>
                                                                       public Int32 NodeCount
                                                                       {
                                                                           get { return this.nodecount; }
                                                                       }

                                                                       private readonly StringBuilder mBuilder;
                                                                       private bool mIsSkipText;
                                                                       private Int32 nodecount;
                                                                   }

Constructors

DocumentVisitor()

protected DocumentVisitor()

Methods

VisitAttachedFileEnd(AttachedFile)

انتهي من زيارة WL31_.AttachedFile عقدة.

public virtual void VisitAttachedFileEnd(AttachedFile attachedFile)

Parameters

attachedFile AttachedFile

نوت WL31_.AttachedFile .

VisitAttachedFileStart(AttachedFile)

ابدأ بزيارة WL31_.AttachedFile عقدة.

public virtual void VisitAttachedFileStart(AttachedFile attachedFile)

Parameters

attachedFile AttachedFile

نوت WL31_.AttachedFile .

VisitDocumentEnd(Document)

انتهي من زيارة WL31_.Document node.

public virtual void VisitDocumentEnd(Document document)

Parameters

document Document

WL31_.نود الوثيقة

VisitDocumentStart(Document)

ابدأ بزيارة WL31_.Document node.

public virtual void VisitDocumentStart(Document document)

Parameters

document Document

WL31_.نود الوثيقة

VisitImageEnd(Image)

انتهي من زيارة WL31_.صورة عقدة.

public virtual void VisitImageEnd(Image image)

Parameters

image Image

WL31_.صورة العقد .

VisitImageStart(Image)

ابدأ بزيارة WL31_.صورة عقدة.

public virtual void VisitImageStart(Image image)

Parameters

image Image

WL31_.صورة العقد .

VisitInkDrawingEnd(InkDrawing)

انتهي من زيارة WL31_.InkDrawing عقدة.

public virtual void VisitInkDrawingEnd(InkDrawing inkDrawing)

Parameters

inkDrawing InkDrawing

الـ WL31_.InkDrawing العقد .

VisitInkDrawingStart(InkDrawing)

ابدأ بزيارة WL31_.InkDrawing عقدة.

public virtual void VisitInkDrawingStart(InkDrawing inkDrawing)

Parameters

inkDrawing InkDrawing

الـ WL31_.InkDrawing العقد .

VisitInkParagraphEnd(InkParagraph)

انتهي من زيارة WL31_.Inkنود الفقرة.

public virtual void VisitInkParagraphEnd(InkParagraph inkParagraph)

Parameters

inkParagraph InkParagraph

النقطة WL31_.InkParagraph العقد.

VisitInkParagraphStart(InkParagraph)

ابدأ بزيارة نود Aspose.Note.InkParagraph.

public virtual void VisitInkParagraphStart(InkParagraph inkParagraph)

Parameters

inkParagraph InkParagraph

النقطة WL31_.InkParagraph العقد.

VisitInkWordEnd(InkWord)

انتهي من زيارة WL31_.InkWord عقدة.

public virtual void VisitInkWordEnd(InkWord inkWord)

Parameters

inkWord InkWord

نود WL31_.InkWord .

VisitInkWordStart(InkWord)

ابدأ بزيارة WL31_.InkWord عقدة.

public virtual void VisitInkWordStart(InkWord inkWord)

Parameters

inkWord InkWord

نود WL31_.InkWord .

VisitLoopEnd(Loop)

انتهي من زيارة Aspose.Note.Loop عقدة.

public virtual void VisitLoopEnd(Loop loop)

Parameters

loop Loop

الـ _WL31 _.Loop نود .

VisitLoopStart(Loop)

ابدأ بزيارة WL31_.Loop node.

public virtual void VisitLoopStart(Loop loop)

Parameters

loop Loop

الـ _WL31 _.Loop نود .

VisitOutlineElementEnd(OutlineElement)

انتهي من زيارة WL31_.OutlineElement عقدة.

public virtual void VisitOutlineElementEnd(OutlineElement outlineElement)

Parameters

outlineElement OutlineElement

نود WL31_.Outlineالعنصر.

VisitOutlineElementStart(OutlineElement)

ابدأ بزيارة WL31_.OutlineElement عقدة.

public virtual void VisitOutlineElementStart(OutlineElement outlineElement)

Parameters

outlineElement OutlineElement

نود WL31_.Outlineالعنصر.

VisitOutlineEnd(Outline)

انتهي من زيارة WL31_.Outline عقدة.

public virtual void VisitOutlineEnd(Outline outline)

Parameters

outline Outline

نود WL31_.Outline النود

VisitOutlineGroupEnd(OutlineGroup)

انتهي من زيارة WL31_.OutlineGroup عقدة.

public virtual void VisitOutlineGroupEnd(OutlineGroup outlineGroup)

Parameters

outlineGroup OutlineGroup

نود WL31_.OutlineGroup .

VisitOutlineGroupStart(OutlineGroup)

ابدأ بزيارة WL31_.OutlineGroup عقدة.

public virtual void VisitOutlineGroupStart(OutlineGroup outlineGroup)

Parameters

outlineGroup OutlineGroup

نود WL31_.OutlineGroup .

VisitOutlineStart(Outline)

ابدأ بزيارة WL31_.Outline عقدة.

public virtual void VisitOutlineStart(Outline outline)

Parameters

outline Outline

نود WL31_.Outline النود

VisitPageEnd(Page)

انتهي من زيارة WL31_.صفحة العقد.

public virtual void VisitPageEnd(Page page)

Parameters

page Page

WL31_.الصفحة العقدية

VisitPageStart(Page)

ابدأ بزيارة WL31_.صفحة العقد.

public virtual void VisitPageStart(Page page)

Parameters

page Page

WL31_.الصفحة العقدية

VisitRichTextEnd(RichText)

انتهي من زيارة WL31_.RichText عقدة.

public virtual void VisitRichTextEnd(RichText richText)

Parameters

richText RichText

نود WL31_.RichText .

VisitRichTextStart(RichText)

ابدأ بزيارة WL31_.RichText عقدة.

public virtual void VisitRichTextStart(RichText richText)

Parameters

richText RichText

نود WL31_.RichText .

VisitTableCellEnd(TableCell)

انتهي من زيارة WL31_.TableCell عقدة.

public virtual void VisitTableCellEnd(TableCell tableCell)

Parameters

tableCell TableCell

نود WL31_.TableCell .

VisitTableCellStart(TableCell)

ابدأ بزيارة WL31_.TableCell عقدة.

public virtual void VisitTableCellStart(TableCell tableCell)

Parameters

tableCell TableCell

نود WL31_.TableCell .

VisitTableEnd(Table)

انتهي من زيارة WL31_.نقطة الجدول.

public virtual void VisitTableEnd(Table table)

Parameters

table Table

WL31_.نود الجدول .

VisitTableRowEnd(TableRow)

انتهي من زيارة WL31_.TableRow عقدة.

public virtual void VisitTableRowEnd(TableRow tableRow)

Parameters

tableRow TableRow

نود WL31_.TableRow .

VisitTableRowStart(TableRow)

ابدأ بزيارة WL31_.TableRow العقد.

public virtual void VisitTableRowStart(TableRow tableRow)

Parameters

tableRow TableRow

نود WL31_.TableRow .

VisitTableStart(Table)

ابدأ بزيارة WL31_.نود الجدول.

public virtual void VisitTableStart(Table table)

Parameters

table Table

WL31_.نود الجدول .

VisitTitleEnd(Title)

انتهي من زيارة WL31_.نود العنوان.

public virtual void VisitTitleEnd(Title title)

Parameters

title Title

الـ WL31_.نود العنوان

VisitTitleStart(Title)

ابدأ بزيارة WL31_.نود العنوان.

public virtual void VisitTitleStart(Title title)

Parameters

title Title

الـ WL31_.نود العنوان

 عربي