BookmarkEnd

BookmarkEnd class

Bir Word belgesindeki yer iminin sonunu temsil eder.

Daha fazla bilgi edinmek için şu adresi ziyaret edin:Yer İşaretleriyle Çalışma belgeleme makalesi.

public class BookmarkEnd : Node

yapıcılar

İsimTanım
BookmarkEnd(DocumentBase, string)Yeni bir örneğini başlatırBookmarkEnd sınıf.

Özellikleri

İsimTanım
CustomNodeId { get; set; }Özel düğüm tanımlayıcısını belirtir.
virtual Document { get; }Bu düğümün ait olduğu belgeyi alır.
virtual IsComposite { get; }Geri Döndürürdoğru eğer bu düğüm diğer düğümleri içerebiliyorsa.
Name { get; set; }Yer imi adını alır veya ayarlar.
NextSibling { get; }Bu düğümü hemen takip eden düğümü alır.
override NodeType { get; }Geri DöndürürBookmarkEnd .
ParentNode { get; }Bu düğümün en yakın üst düğümünü alır.
PreviousSibling { get; }Bu düğümden hemen önceki düğümü alır.
Range { get; }BirRangebu düğümde bulunan bir belgenin bölümünü temsil eden nesne.

yöntemler

İsimTanım
override Accept(DocumentVisitor)Bir ziyaretçiyi kabul eder.
Clone(bool)Düğümün bir kopyasını oluşturur.
GetAncestor(NodeType)Belirtilenin ilk atasını alırNodeType .
GetAncestor(Type)Belirtilen nesne türünün ilk atasını alır.
virtual GetText()Bu düğümün ve tüm alt düğümlerinin metnini alır.
NextPreOrder(Node)Ön sipariş ağacı geçiş algoritmasına göre bir sonraki düğümü alır.
PreviousPreOrder(Node)Ön sipariş ağacı geçiş algoritmasına göre önceki düğümü alır.
Remove()Kendini ana öğeden kaldırır.
ToString(SaveFormat)Düğümün içeriğini belirtilen biçimde bir dizeye aktarır.
ToString(SaveOptions)Belirtilen kaydetme seçeneklerini kullanarak düğümün içeriğini bir dizeye aktarır.

Notlar

Word belgesindeki tam bir yer imi aşağıdakilerden oluşur:BookmarkStart ve eşleşen birBookmarkEnd aynı yer imi adıyla.

BookmarkStart VeBookmarkEnd document içindeki yer iminin nerede başladığını ve bittiğini belirten işaretleyicilerdir.

KullanınBookmark bookmark ile tek bir nesne olarak çalışmak için bir “cephe” olarak sınıf.

Örnekler

Yer imlerinin nasıl ekleneceğini ve içeriklerinin nasıl güncelleneceğini gösterir.

public void CreateUpdateAndPrintBookmarks()
{
    // Üç yer imi içeren bir belge oluşturun, ardından içeriklerini yazdırmak için özel bir belge ziyaretçisi uygulaması kullanın.
    Document doc = CreateDocumentWithBookmarks(3);
    BookmarkCollection bookmarks = doc.Range.Bookmarks;
    PrintAllBookmarkInfo(bookmarks);

    // Yer imlerine yer imi koleksiyonunda indeks veya isimle erişilebilir ve isimleri güncellenebilir.
    bookmarks[0].Name = $"{bookmarks[0].Name}_NewName";
    bookmarks["MyBookmark_2"].Text = $"Updated text contents of {bookmarks[1].Name}";

    // Güncellenmiş değerleri görmek için tüm yer imlerini tekrar yazdır.
    PrintAllBookmarkInfo(bookmarks);
}

/// <summary>
/// Belirtilen sayıda yer imi içeren bir belge oluşturun.
/// </summary>
private static Document CreateDocumentWithBookmarks(int numberOfBookmarks)
{
    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);

    for (int i = 1; i <= numberOfBookmarks; i++)
    {
        string bookmarkName = "MyBookmark_" + i;

        builder.Write("Text before bookmark.");
        builder.StartBookmark(bookmarkName);
        builder.Write($"Text inside {bookmarkName}.");
        builder.EndBookmark(bookmarkName);
        builder.Writeln("Text after bookmark.");
    }

    return doc;
}

/// <summary>
/// Koleksiyondaki her yer iminin bilgisini yazdırmak için bir yineleyici ve bir ziyaretçi kullanın.
/// </summary>
private static void PrintAllBookmarkInfo(BookmarkCollection bookmarks)
{
    BookmarkInfoPrinter bookmarkVisitor = new BookmarkInfoPrinter();

    // Koleksiyondaki her yer iminin, içeriğini yazdıracak bir ziyaretçiyi kabul etmesini sağla.
    using (IEnumerator<Bookmark> enumerator = bookmarks.GetEnumerator())
    {
        while (enumerator.MoveNext())
        {
            Bookmark currentBookmark = enumerator.Current;

            if (currentBookmark != null)
            {
                currentBookmark.BookmarkStart.Accept(bookmarkVisitor);
                currentBookmark.BookmarkEnd.Accept(bookmarkVisitor);

                Console.WriteLine(currentBookmark.BookmarkStart.GetText());
            }
        }
    }
}

/// <summary>
/// Ziyaret edilen her yer iminin içeriğini konsola yazdırır.
/// </summary>
public class BookmarkInfoPrinter : DocumentVisitor
{
    public override VisitorAction VisitBookmarkStart(BookmarkStart bookmarkStart)
    {
        Console.WriteLine($"BookmarkStart name: \"{bookmarkStart.Name}\", Contents: \"{bookmarkStart.Bookmark.Text}\"");
        return VisitorAction.Continue;
    }

    public override VisitorAction VisitBookmarkEnd(BookmarkEnd bookmarkEnd)
    {
        Console.WriteLine($"BookmarkEnd name: \"{bookmarkEnd.Name}\"");
        return VisitorAction.Continue;
    }
}

Ayrıca bakınız