Parser

Parser(DbConnection)

Yeni bir örneğini başlatır.Parser bir veritabanından veri ayıklamak için sınıf.

public Parser(DbConnection connection)
Parametre Tip Tanım
connection DbConnection Veritabanı bağlantısı.

Notlar

Daha fazla bilgi edin:

Örnekler

Aşağıdaki örnek, Sqlite veritabanından verilerin nasıl çıkarılacağını gösterir:

// DbConnection nesnesi oluştur
DbConnection connection = new SQLiteConnection(string.Format("Data Source={0};Version=3;", Constants.SampleDatabase));
// Veritabanından tabloları çıkarmak için bir Parser sınıfı örneği oluşturun
using (Parser parser = new Parser(connection))
{
    // Metin çıkarmanın desteklenip desteklenmediğini kontrol edin
    if (!parser.Features.Text)
    {
        Console.WriteLine("Text extraction isn't supported.");
        return;
    }
    // Toc çıkarmanın desteklenip desteklenmediğini kontrol edin
    if (!parser.Features.Toc)
    {
        Console.WriteLine("Toc extraction isn't supported.");
        return;
    }
    // tabloların listesini al
    IEnumerable<TocItem> toc = parser.GetToc();
    // Tablolar üzerinde yineleme
    foreach (TocItem i in toc)
    {
        // Tablo adını yazdır
        Console.WriteLine(i.Text);
        // Bir tablo içeriğini metin olarak çıkar
        using (TextReader reader = parser.GetText(i.PageIndex.Value))
        {
            Console.WriteLine(reader.ReadToEnd());
        }
    }
}

Ayrıca bakınız


Parser(DbConnection, ParserSettings)

Yeni bir örneğini başlatır.Parser bir veritabanından veri ayıklamak için sınıf.

public Parser(DbConnection connection, ParserSettings parserSettings)
Parametre Tip Tanım
connection DbConnection Veritabanı bağlantısı.
parserSettings ParserSettings Veri ayıklamayı özelleştirmek için kullanılan ayrıştırıcı ayarları.

Notlar

Daha fazla bilgi edin:

Örnekler

Aşağıdaki örnek, Sqlite veritabanından verilerin nasıl çıkarılacağını gösterir:

// DbConnection nesnesi oluştur
DbConnection connection = new SQLiteConnection(string.Format("Data Source={0};Version=3;", Constants.SampleDatabase));
// Veritabanından tabloları çıkarmak için bir Parser sınıfı örneği oluşturun
using (Parser parser = new Parser(connection))
{
    // Metin çıkarmanın desteklenip desteklenmediğini kontrol edin
    if (!parser.Features.Text)
    {
        Console.WriteLine("Text extraction isn't supported.");
        return;
    }
    // Toc çıkarmanın desteklenip desteklenmediğini kontrol edin
    if (!parser.Features.Toc)
    {
        Console.WriteLine("Toc extraction isn't supported.");
        return;
    }
    // tabloların listesini al
    IEnumerable<TocItem> toc = parser.GetToc();
    // Tablolar üzerinde yineleme
    foreach (TocItem i in toc)
    {
        // Tablo adını yazdır
        Console.WriteLine(i.Text);
        // Bir tablo içeriğini metin olarak çıkar
        using (TextReader reader = parser.GetText(i.PageIndex.Value))
        {
            Console.WriteLine(reader.ReadToEnd());
        }
    }
}

Ayrıca bakınız


Parser(EmailConnection)

Yeni bir örneğini başlatır.Parser uzak bir e-posta sunucusundan veri ayıklamak için sınıf.

public Parser(EmailConnection connection)
Parametre Tip Tanım
connection EmailConnection E-posta bağlantısı.

Notlar

Daha fazla bilgi edin:

Örnekler

Aşağıdaki örnek, Exchange Server’dan e-postaların nasıl çıkarılacağını gösterir:

// Exchange Web Hizmetleri protokolü için bağlantı nesnesini oluşturun 
EmailConnection connection = new EmailEwsConnection(
    "https://outlook.office365.com/ews/exchange.asmx",
    "email@server",
    "password");
 
// Uzak sunucudan e-postaları ayıklamak için bir Parser sınıfı örneği oluşturun
using (Parser parser = new Parser(connection))
{
    // Konteyner çıkarmanın desteklenip desteklenmediğini kontrol edin
    if (!parser.Features.Container)
    {
        Console.WriteLine("Container extraction isn't supported.");
        return;
    }

// E-posta mesajlarını sunucudan çıkarın
IEnumerable<ContainerItem> emails = parser.GetContainer();
 
    // Ekler üzerinde yinele
    foreach (ContainerItem item in emails)
    {
        // E-posta mesajı için bir Parser sınıfı örneği oluşturun
        using (Parser emailParser = item.OpenParser())
        {
            // E-posta metnini ayıklayın
            using (TextReader reader = emailParser.GetText())
            {
                // E-posta metnini yazdır
                Console.WriteLine(reader == null ? "Text extraction isn't supported." : reader.ReadToEnd());
            }
        }
    }
}   

Ayrıca bakınız


Parser(EmailConnection, ParserSettings)

Yeni bir örneğini başlatır.Parser uzak bir e-posta sunucusundan veri ayıklamak için sınıf.

public Parser(EmailConnection connection, ParserSettings parserSettings)
Parametre Tip Tanım
connection EmailConnection E-posta bağlantısı.
parserSettings ParserSettings Veri ayıklamayı özelleştirmek için kullanılan ayrıştırıcı ayarları.

Notlar

Daha fazla bilgi edin:

Örnekler

Aşağıdaki örnek, Exchange Server’dan e-postaların nasıl çıkarılacağını gösterir:

// Exchange Web Hizmetleri protokolü için bağlantı nesnesini oluşturun 
EmailConnection connection = new EmailEwsConnection(
    "https://outlook.office365.com/ews/exchange.asmx",
    "email@server",
    "password");
 
// Uzak sunucudan e-postaları ayıklamak için bir Parser sınıfı örneği oluşturun
using (Parser parser = new Parser(connection))
{
    // Konteyner çıkarmanın desteklenip desteklenmediğini kontrol edin
    if (!parser.Features.Container)
    {
        Console.WriteLine("Container extraction isn't supported.");
        return;
    }

// E-posta mesajlarını sunucudan çıkarın
IEnumerable<ContainerItem> emails = parser.GetContainer();
 
    // Ekler üzerinde yinele
    foreach (ContainerItem item in emails)
    {
        // E-posta mesajı için bir Parser sınıfı örneği oluşturun
        using (Parser emailParser = item.OpenParser())
        {
            // E-posta metnini ayıklayın
            using (TextReader reader = emailParser.GetText())
            {
                // E-posta metnini yazdır
                Console.WriteLine(reader == null ? "Text extraction isn't supported." : reader.ReadToEnd());
            }
        }
    }
}   

Ayrıca bakınız


Parser(string)

Yeni bir örneğini başlatır.Parser sınıf.

public Parser(string filePath)
Parametre Tip Tanım
filePath String Dosyanın yolu.

Notlar

Daha fazla bilgi edin:

Örnekler

Aşağıdaki örnek, belgenin yerel diskten nasıl yükleneceğini gösterir:

// filePath ile Parser sınıfının bir örneğini oluşturun
using (Parser parser = new Parser(filePath))
{
    // Bir metni okuyucuya çıkarın
    using (TextReader reader = parser.GetText())
    {
        // Belgeden bir metin yazdır
        // Metin çıkarma desteklenmiyorsa, bir okuyucu boştur
        Console.WriteLine(reader == null ? "Text extraction isn't supported" : reader.ReadToEnd());
    }
}

Ayrıca bakınız


Parser(string, LoadOptions)

Yeni bir örneğini başlatır.Parser ile sınıfLoadOptions .

public Parser(string filePath, LoadOptions loadOptions)
Parametre Tip Tanım
filePath String Dosyanın yolu.
loadOptions LoadOptions Dosyayı açma seçenekleri.

Notlar

Daha fazla bilgi edin:

Örnekler

Belge parolası, LoadOptions sınıfı tarafından iletilir:

try
{
    // Parser sınıfının bir örneğini şu parolayla oluşturun:
    using (Parser parser = new Parser(filePath, new LoadOptions(password)))
    {
        // Metin çıkarmanın desteklenip desteklenmediğini kontrol edin
        if (!parser.Features.Text)
        {
            Console.WriteLine("Text extraction isn't supported.");
            return;
        }
        // Belge metnini yazdır
        using (TextReader reader = parser.GetText())
        {
            Console.WriteLine(reader.ReadToEnd());
        }
    }
}
catch (InvalidPasswordException)
{
    // Parola yanlış veya boşsa mesajı yazdır
    Console.WriteLine("Invalid password");
}

Ayrıca bakınız


Parser(string, ParserSettings)

Yeni bir örneğini başlatır.Parser ile sınıfParserSettings .

public Parser(string filePath, ParserSettings parserSettings)
Parametre Tip Tanım
filePath String Dosyanın yolu.
parserSettings ParserSettings Veri ayıklamayı özelleştirmek için kullanılan ayrıştırıcı ayarları.

Ayrıca bakınız


Parser(string, LoadOptions, ParserSettings)

Yeni bir örneğini başlatır.Parser ile sınıfLoadOptions veParserSettings .

public Parser(string filePath, LoadOptions loadOptions, ParserSettings parserSettings)
Parametre Tip Tanım
filePath String Dosyanın yolu.
loadOptions LoadOptions Dosyayı açma seçenekleri.
parserSettings ParserSettings Veri ayıklamayı özelleştirmek için kullanılan ayrıştırıcı ayarları.

Notlar

Daha fazla bilgi edin:

Örnekler

Aşağıdaki örnek, bilgilerin nasıl alınacağını gösterir.ILogger arayüz:

// denemek
{
    // Logger sınıfının bir örneğini oluşturun
    Logger logger = new Logger();
    // Ayrıştırıcı ayarlarıyla Parser sınıfının bir örneğini oluşturun
    using (Parser parser = new Parser(filePath, null, new ParserSettings(logger)))
    {
        // Metin çıkarmanın desteklenip desteklenmediğini kontrol edin
        if (!parser.Features.Text)
        {
            Console.WriteLine("Text extraction isn't supported.");
            return;
        }
        // Belge metnini yazdır
        using (TextReader reader = parser.GetText())
        {
            Console.WriteLine(reader.ReadToEnd());
        }
    }
}
catch (InvalidPasswordException)
{
    ; // istisnayı yoksay
}
 
private class Logger : ILogger
{
    public void Error(string message, Exception exception)
    {
        // Hata mesajını yazdır
        Console.WriteLine("Error: " + message);
    }
    public void Trace(string message)
    {
        // Olay mesajını yazdır
        Console.WriteLine("Event: " + message);
    }
    public void Warning(string message)
    {
        // Uyarı mesajını yazdır
        Console.WriteLine("Warning: " + message);
    }
}

Ayrıca bakınız


Parser(Stream)

Yeni bir örneğini başlatır.Parser sınıf.

public Parser(Stream document)
Parametre Tip Tanım
document Stream Kaynak giriş akışı.

Notlar

Daha fazla bilgi edin:

Örnekler

Aşağıdaki örnek, belgenin akıştan nasıl yükleneceğini gösterir:

// Akış ile Parser sınıfının bir örneğini oluşturun
using (Parser parser = new Parser(stream))
{
    // Bir metni okuyucuya çıkarın
    using (TextReader reader = parser.GetText())
    {
        // Belgeden bir metin yazdır
        // Metin çıkarma desteklenmiyorsa, bir okuyucu boştur
        Console.WriteLine(reader == null ? "Text extraction isn't supported" : reader.ReadToEnd());
    }
}

Ayrıca bakınız


Parser(Stream, LoadOptions)

Yeni bir örneğini başlatır.Parser ile sınıfLoadOptions .

public Parser(Stream document, LoadOptions loadOptions)
Parametre Tip Tanım
document Stream Kaynak giriş akışı.
loadOptions LoadOptions Dosyayı açma seçenekleri.

Notlar

Daha fazla bilgi edin:

Örnekler

Bazı durumlarda tanımlamak gerekirFileFormat. Hem özel durumlar için (veritabanları, e-posta sunucusu) hem de içeriğe göre dosya türlerini algılamak için:

Belge şifresi tarafından iletilirLoadOptions sınıf:

// İşaretleme belgesi için bir Parser sınıfı örneği oluşturun
using (Parser parser = new Parser(stream, new LoadOptions(FileFormat.Markup)))
{
    // Metin çıkarmanın desteklenip desteklenmediğini kontrol edin
    if (!parser.Features.Text)
    {
        Console.WriteLine("Text extraction isn't supported.");
        return;
    }
    using (TextReader reader = parser.GetText())
    {
        // Belge metnini yazdır
        // İşaretleme algılandı; özel simgeler içermeyen metin yazdırılır
        Console.WriteLine(reader.ReadToEnd());
    }
}
try
{
    // Parser sınıfının bir örneğini şu parolayla oluşturun:
    using (Parser parser = new Parser(filePath, new LoadOptions(password)))
    {
        // Metin çıkarmanın desteklenip desteklenmediğini kontrol edin
        if (!parser.Features.Text)
        {
            Console.WriteLine("Text extraction isn't supported.");
            return;
        }
        // Belge metnini yazdır
        using (TextReader reader = parser.GetText())
        {
            Console.WriteLine(reader.ReadToEnd());
        }
    }
}
catch (InvalidPasswordException)
{
    // Parola yanlış veya boşsa mesajı yazdır
    Console.WriteLine("Invalid password");
}

Ayrıca bakınız


Parser(Stream, ParserSettings)

Yeni bir örneğini başlatır.Parser ile sınıfParserSettings .

public Parser(Stream document, ParserSettings parserSettings)
Parametre Tip Tanım
document Stream Kaynak giriş akışı.
parserSettings ParserSettings Veri ayıklamayı özelleştirmek için kullanılan ayrıştırıcı ayarları.

Ayrıca bakınız


Parser(Stream, LoadOptions, ParserSettings)

Yeni bir örneğini başlatır.Parser ile sınıfLoadOptions veParserSettings .

public Parser(Stream document, LoadOptions loadOptions, ParserSettings parserSettings)
Parametre Tip Tanım
document Stream Kaynak giriş akışı.
loadOptions LoadOptions Dosyayı açma seçenekleri.
parserSettings ParserSettings Veri ayıklamayı özelleştirmek için kullanılan ayrıştırıcı ayarları.

Notlar

Daha fazla bilgi edin:

Örnekler

Aşağıdaki örnek, bilgilerin nasıl alınacağını gösterir.ILogger arayüz:

// denemek
{
    // Logger sınıfının bir örneğini oluşturun
    Logger logger = new Logger();
    // Ayrıştırıcı ayarlarıyla Parser sınıfının bir örneğini oluşturun
    using (Parser parser = new Parser(stream, null, new ParserSettings(logger)))
    {
        // Metin çıkarmanın desteklenip desteklenmediğini kontrol edin
        if (!parser.Features.Text)
        {
            Console.WriteLine("Text extraction isn't supported.");
            return;
        }
        // Belge metnini yazdır
        using (TextReader reader = parser.GetText())
        {
            Console.WriteLine(reader.ReadToEnd());
        }
    }
}
catch (InvalidPasswordException)
{
    ; // istisnayı yoksay
}
 
private class Logger : ILogger
{
    public void Error(string message, Exception exception)
    {
        // Hata mesajını yazdır
        Console.WriteLine("Error: " + message);
    }
    public void Trace(string message)
    {
        // Olay mesajını yazdır
        Console.WriteLine("Event: " + message);
    }
    public void Warning(string message)
    {
        // Uyarı mesajını yazdır
        Console.WriteLine("Warning: " + message);
    }
}

Ayrıca bakınız