Class DocumentVisitor

Class DocumentVisitor

Nama dari : Aspose.Note Perhitungan: Aspose.Note.dll (25.4.0)

Kelas abstrak untuk iterasi melalui pohon bawah tanah dengan akar pada node yang ditentukan.

public abstract class DocumentVisitor

Inheritance

object DocumentVisitor

anggota yang diwarisi

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

Examples

Menunjukkan cara mengakses konten dokumen menggunakan pengunjung.

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)

Akhirnya kunjungi Aspose.Note.AttachedFile node.

public virtual void VisitAttachedFileEnd(AttachedFile attachedFile)

Parameters

attachedFile AttachedFile

Node Aspose.Note.AttachedFile adalah node yang

VisitAttachedFileStart(AttachedFile)

Mulai untuk mengunjungi Aspose.Note.AttachedFile node.

public virtual void VisitAttachedFileStart(AttachedFile attachedFile)

Parameters

attachedFile AttachedFile

Node Aspose.Note.AttachedFile adalah node yang

VisitDocumentEnd(Document)

Akhirnya kunjungi Aspose.Note.Dokumen node.

public virtual void VisitDocumentEnd(Document document)

Parameters

document Document

Node dokumen Aspose.Note.

VisitDocumentStart(Document)

Mulai untuk mengunjungi Aspose.Note.Dokumen nod.

public virtual void VisitDocumentStart(Document document)

Parameters

document Document

Node dokumen Aspose.Note.

VisitImageEnd(Image)

Akhirnya kunjungi Aspose.Note.Image node.

public virtual void VisitImageEnd(Image image)

Parameters

image Image

_WL31 _.Node gambar

VisitImageStart(Image)

Mulai untuk mengunjungi Aspose.Note.Image nod.

public virtual void VisitImageStart(Image image)

Parameters

image Image

_WL31 _.Node gambar

VisitInkDrawingEnd(InkDrawing)

Akhirnya kunjungi Aspose.Note.InkDrawing node.

public virtual void VisitInkDrawingEnd(InkDrawing inkDrawing)

Parameters

inkDrawing InkDrawing

Node Aspose.Note.InkDrawing adalah sebuah node.

VisitInkDrawingStart(InkDrawing)

Mulai untuk mengunjungi Aspose.Note.InkDrawing node.

public virtual void VisitInkDrawingStart(InkDrawing inkDrawing)

Parameters

inkDrawing InkDrawing

Node Aspose.Note.InkDrawing adalah sebuah node.

VisitInkParagraphEnd(InkParagraph)

Akhirnya kunjungi Aspose.Note.InkParagraph node.

public virtual void VisitInkParagraphEnd(InkParagraph inkParagraph)

Parameters

inkParagraph InkParagraph

Node Aspose.Note.InkParagraf adalah node.

VisitInkParagraphStart(InkParagraph)

Mulai untuk mengunjungi Aspose.Note.InkParagraph node.

public virtual void VisitInkParagraphStart(InkParagraph inkParagraph)

Parameters

inkParagraph InkParagraph

Node Aspose.Note.InkParagraf adalah node.

VisitInkWordEnd(InkWord)

Akhirnya kunjungi Aspose.Note.InkWord node.

public virtual void VisitInkWordEnd(InkWord inkWord)

Parameters

inkWord InkWord

Node Aspose.Note.InkWord adalah

VisitInkWordStart(InkWord)

Mulai untuk mengunjungi Aspose.Note.InkWord node.

public virtual void VisitInkWordStart(InkWord inkWord)

Parameters

inkWord InkWord

Node Aspose.Note.InkWord adalah

VisitLoopEnd(Loop)

Akhirnya kunjungi Aspose.Note.Loop node.

public virtual void VisitLoopEnd(Loop loop)

Parameters

loop Loop

Node Aspose.Note.Node yang ditutup

VisitLoopStart(Loop)

Mulai untuk mengunjungi Aspose.Note.Loop node.

public virtual void VisitLoopStart(Loop loop)

Parameters

loop Loop

Node Aspose.Note.Node yang ditutup

VisitOutlineElementEnd(OutlineElement)

Akhirnya kunjungi Aspose.Note.OutlineElement node.

public virtual void VisitOutlineElementEnd(OutlineElement outlineElement)

Parameters

outlineElement OutlineElement

Node Aspose.Note.OutlineElement adalah node.

VisitOutlineElementStart(OutlineElement)

Mulai untuk mengunjungi Aspose.Note.OutlineElement node.

public virtual void VisitOutlineElementStart(OutlineElement outlineElement)

Parameters

outlineElement OutlineElement

Node Aspose.Note.OutlineElement adalah node.

VisitOutlineEnd(Outline)

Akhirnya kunjungi Aspose.Note.Outline node.

public virtual void VisitOutlineEnd(Outline outline)

Parameters

outline Outline

Node Aspose.Note.Outline adalah node yang

VisitOutlineGroupEnd(OutlineGroup)

Akhirnya kunjungi Aspose.Note.OutlineGroup node.

public virtual void VisitOutlineGroupEnd(OutlineGroup outlineGroup)

Parameters

outlineGroup OutlineGroup

Node Aspose.Note.OutlineGroup adalah

VisitOutlineGroupStart(OutlineGroup)

Mulai untuk mengunjungi Aspose.Note.OutlineGroup node.

public virtual void VisitOutlineGroupStart(OutlineGroup outlineGroup)

Parameters

outlineGroup OutlineGroup

Node Aspose.Note.OutlineGroup adalah

VisitOutlineStart(Outline)

Mulai untuk mengunjungi Aspose.Note.Outline node.

public virtual void VisitOutlineStart(Outline outline)

Parameters

outline Outline

Node Aspose.Note.Outline adalah node yang

VisitPageEnd(Page)

Akhirnya kunjungi Aspose.Note.Page node.

public virtual void VisitPageEnd(Page page)

Parameters

page Page

Node halaman Aspose.Note.

VisitPageStart(Page)

Mulai untuk mengunjungi Aspose.Note.Node halaman.

public virtual void VisitPageStart(Page page)

Parameters

page Page

Node halaman Aspose.Note.

VisitRichTextEnd(RichText)

Akhirnya kunjungi Aspose.Note.RichText node.

public virtual void VisitRichTextEnd(RichText richText)

Parameters

richText RichText

Node Aspose.Note.RichText adalah

VisitRichTextStart(RichText)

Mulai untuk mengunjungi Aspose.Note.RichText node.

public virtual void VisitRichTextStart(RichText richText)

Parameters

richText RichText

Node Aspose.Note.RichText adalah

VisitTableCellEnd(TableCell)

Akhirnya kunjungi Aspose.Note.TableCell node.

public virtual void VisitTableCellEnd(TableCell tableCell)

Parameters

tableCell TableCell

Node Aspose.Note.TableCell adalah

VisitTableCellStart(TableCell)

Mulai untuk mengunjungi Aspose.Note.TableCell node.

public virtual void VisitTableCellStart(TableCell tableCell)

Parameters

tableCell TableCell

Node Aspose.Note.TableCell adalah

VisitTableEnd(Table)

Akhirnya kunjungi Aspose.Note.Tabel node.

public virtual void VisitTableEnd(Table table)

Parameters

table Table

Node tabel Aspose.Note.

VisitTableRowEnd(TableRow)

Akhirnya kunjungi Aspose.Note.TableRow node.

public virtual void VisitTableRowEnd(TableRow tableRow)

Parameters

tableRow TableRow

Node Aspose.Note.TableRow adalah

VisitTableRowStart(TableRow)

Mulai untuk mengunjungi Aspose.Note.TableRow nod.

public virtual void VisitTableRowStart(TableRow tableRow)

Parameters

tableRow TableRow

Node Aspose.Note.TableRow adalah

VisitTableStart(Table)

Mulai untuk mengunjungi Aspose.Note.Tabel node.

public virtual void VisitTableStart(Table table)

Parameters

table Table

Node tabel Aspose.Note.

VisitTitleEnd(Title)

Akhirnya kunjungi Aspose.Note.Title nod.

public virtual void VisitTitleEnd(Title title)

Parameters

title Title

Node nama Aspose.Note.

VisitTitleStart(Title)

Mulai untuk mengunjungi Aspose.Note.Title nod.

public virtual void VisitTitleStart(Title title)

Parameters

title Title

Node nama Aspose.Note.

 Indonesia