Parser

Parser(DbConnection)

Initialisiert eine neue Instanz vonParser Klasse zum Extrahieren von Daten aus einer Datenbank.

public Parser(DbConnection connection)
Parameter Typ Beschreibung
connection DbConnection Die Datenbankverbindung.

Bemerkungen

Erfahren Sie mehr:

Beispiele

Das folgende Beispiel zeigt, wie Daten aus der Sqlite-Datenbank extrahiert werden:

// DbConnection-Objekt erstellen
DbConnection connection = new SQLiteConnection(string.Format("Data Source={0};Version=3;", Constants.SampleDatabase));
// Erstellen Sie eine Instanz der Parser-Klasse, um Tabellen aus der Datenbank zu extrahieren
using (Parser parser = new Parser(connection))
{
    // Prüfen, ob Textextraktion unterstützt wird
    if (!parser.Features.Text)
    {
        Console.WriteLine("Text extraction isn't supported.");
        return;
    }
    // Prüfen, ob toc-Extraktion unterstützt wird
    if (!parser.Features.Toc)
    {
        Console.WriteLine("Toc extraction isn't supported.");
        return;
    }
    // Holen Sie sich eine Liste von Tabellen
    IEnumerable<TocItem> toc = parser.GetToc();
    // Über Tabellen iterieren
    foreach (TocItem i in toc)
    {
        // Den Tabellennamen drucken
        Console.WriteLine(i.Text);
        // Tabelleninhalt als Text extrahieren
        using (TextReader reader = parser.GetText(i.PageIndex.Value))
        {
            Console.WriteLine(reader.ReadToEnd());
        }
    }
}

Siehe auch


Parser(DbConnection, ParserSettings)

Initialisiert eine neue Instanz vonParser Klasse zum Extrahieren von Daten aus einer Datenbank.

public Parser(DbConnection connection, ParserSettings parserSettings)
Parameter Typ Beschreibung
connection DbConnection Die Datenbankverbindung.
parserSettings ParserSettings Die Parsereinstellungen, die zum Anpassen der Datenextraktion verwendet werden.

Bemerkungen

Erfahren Sie mehr:

Beispiele

Das folgende Beispiel zeigt, wie Daten aus der Sqlite-Datenbank extrahiert werden:

// DbConnection-Objekt erstellen
DbConnection connection = new SQLiteConnection(string.Format("Data Source={0};Version=3;", Constants.SampleDatabase));
// Erstellen Sie eine Instanz der Parser-Klasse, um Tabellen aus der Datenbank zu extrahieren
using (Parser parser = new Parser(connection))
{
    // Prüfen, ob Textextraktion unterstützt wird
    if (!parser.Features.Text)
    {
        Console.WriteLine("Text extraction isn't supported.");
        return;
    }
    // Prüfen, ob toc-Extraktion unterstützt wird
    if (!parser.Features.Toc)
    {
        Console.WriteLine("Toc extraction isn't supported.");
        return;
    }
    // Holen Sie sich eine Liste von Tabellen
    IEnumerable<TocItem> toc = parser.GetToc();
    // Über Tabellen iterieren
    foreach (TocItem i in toc)
    {
        // Den Tabellennamen drucken
        Console.WriteLine(i.Text);
        // Tabelleninhalt als Text extrahieren
        using (TextReader reader = parser.GetText(i.PageIndex.Value))
        {
            Console.WriteLine(reader.ReadToEnd());
        }
    }
}

Siehe auch


Parser(EmailConnection)

Initialisiert eine neue Instanz vonParser Klasse zum Extrahieren von Daten von einem Remote-E-Mail-Server.

public Parser(EmailConnection connection)
Parameter Typ Beschreibung
connection EmailConnection Die E-Mail-Verbindung.

Bemerkungen

Erfahren Sie mehr:

Beispiele

Das folgende Beispiel zeigt, wie Sie E-Mails von Exchange Server extrahieren:

// Das Verbindungsobjekt für das Exchange Web Services-Protokoll erstellen 
EmailConnection connection = new EmailEwsConnection(
    "https://outlook.office365.com/ews/exchange.asmx",
    "email@server",
    "password");
 
// Erstellen Sie eine Instanz der Parser-Klasse, um E-Mails vom Remote-Server zu extrahieren
using (Parser parser = new Parser(connection))
{
    // Prüfen, ob die Container-Extraktion unterstützt wird
    if (!parser.Features.Container)
    {
        Console.WriteLine("Container extraction isn't supported.");
        return;
    }

// E-Mail-Nachrichten vom Server extrahieren
IEnumerable<ContainerItem> emails = parser.GetContainer();
 
    // Über Anhänge iterieren
    foreach (ContainerItem item in emails)
    {
        // Erstellen Sie eine Instanz der Parser-Klasse für die E-Mail-Nachricht
        using (Parser emailParser = item.OpenParser())
        {
            // E-Mail-Text extrahieren
            using (TextReader reader = emailParser.GetText())
            {
                // E-Mail-Text drucken
                Console.WriteLine(reader == null ? "Text extraction isn't supported." : reader.ReadToEnd());
            }
        }
    }
}   

Siehe auch


Parser(EmailConnection, ParserSettings)

Initialisiert eine neue Instanz vonParser Klasse zum Extrahieren von Daten von einem Remote-E-Mail-Server.

public Parser(EmailConnection connection, ParserSettings parserSettings)
Parameter Typ Beschreibung
connection EmailConnection Die E-Mail-Verbindung.
parserSettings ParserSettings Die Parsereinstellungen, die zum Anpassen der Datenextraktion verwendet werden.

Bemerkungen

Erfahren Sie mehr:

Beispiele

Das folgende Beispiel zeigt, wie Sie E-Mails von Exchange Server extrahieren:

// Das Verbindungsobjekt für das Exchange Web Services-Protokoll erstellen 
EmailConnection connection = new EmailEwsConnection(
    "https://outlook.office365.com/ews/exchange.asmx",
    "email@server",
    "password");
 
// Erstellen Sie eine Instanz der Parser-Klasse, um E-Mails vom Remote-Server zu extrahieren
using (Parser parser = new Parser(connection))
{
    // Prüfen, ob die Container-Extraktion unterstützt wird
    if (!parser.Features.Container)
    {
        Console.WriteLine("Container extraction isn't supported.");
        return;
    }

// E-Mail-Nachrichten vom Server extrahieren
IEnumerable<ContainerItem> emails = parser.GetContainer();
 
    // Über Anhänge iterieren
    foreach (ContainerItem item in emails)
    {
        // Erstellen Sie eine Instanz der Parser-Klasse für die E-Mail-Nachricht
        using (Parser emailParser = item.OpenParser())
        {
            // E-Mail-Text extrahieren
            using (TextReader reader = emailParser.GetText())
            {
                // E-Mail-Text drucken
                Console.WriteLine(reader == null ? "Text extraction isn't supported." : reader.ReadToEnd());
            }
        }
    }
}   

Siehe auch


Parser(string)

Initialisiert eine neue Instanz vonParser Klasse.

public Parser(string filePath)
Parameter Typ Beschreibung
filePath String Der Pfad zur Datei.

Bemerkungen

Erfahren Sie mehr:

Beispiele

Das folgende Beispiel zeigt, wie das Dokument von der lokalen Festplatte geladen wird:

// Erstellen Sie eine Instanz der Parser-Klasse mit dem Dateipfad
using (Parser parser = new Parser(filePath))
{
    // Einen Text in den Reader extrahieren
    using (TextReader reader = parser.GetText())
    {
        // Einen Text aus dem Dokument drucken
        // Wenn die Textextraktion nicht unterstützt wird, ist ein Reader null
        Console.WriteLine(reader == null ? "Text extraction isn't supported" : reader.ReadToEnd());
    }
}

Siehe auch


Parser(string, LoadOptions)

Initialisiert eine neue Instanz vonParser Klasse mitLoadOptions .

public Parser(string filePath, LoadOptions loadOptions)
Parameter Typ Beschreibung
filePath String Der Pfad zur Datei.
loadOptions LoadOptions Die Optionen zum Öffnen der Datei.

Bemerkungen

Erfahren Sie mehr:

Beispiele

Das Dokumentpasswort wird von der LoadOptions-Klasse übergeben:

try
{
    // Erstellen Sie eine Instanz der Parser-Klasse mit dem Passwort:
    using (Parser parser = new Parser(filePath, new LoadOptions(password)))
    {
        // Prüfen, ob Textextraktion unterstützt wird
        if (!parser.Features.Text)
        {
            Console.WriteLine("Text extraction isn't supported.");
            return;
        }
        // Dokumenttext drucken
        using (TextReader reader = parser.GetText())
        {
            Console.WriteLine(reader.ReadToEnd());
        }
    }
}
catch (InvalidPasswordException)
{
    // Gibt die Nachricht aus, wenn das Passwort falsch oder leer ist
    Console.WriteLine("Invalid password");
}

Siehe auch


Parser(string, ParserSettings)

Initialisiert eine neue Instanz vonParser Klasse mitParserSettings .

public Parser(string filePath, ParserSettings parserSettings)
Parameter Typ Beschreibung
filePath String Der Pfad zur Datei.
parserSettings ParserSettings Die Parsereinstellungen, die zum Anpassen der Datenextraktion verwendet werden.

Siehe auch


Parser(string, LoadOptions, ParserSettings)

Initialisiert eine neue Instanz vonParser Klasse mitLoadOptions undParserSettings .

public Parser(string filePath, LoadOptions loadOptions, ParserSettings parserSettings)
Parameter Typ Beschreibung
filePath String Der Pfad zur Datei.
loadOptions LoadOptions Die Optionen zum Öffnen der Datei.
parserSettings ParserSettings Die Parsereinstellungen, die zum Anpassen der Datenextraktion verwendet werden.

Bemerkungen

Erfahren Sie mehr:

Beispiele

Das folgende Beispiel zeigt, wie Sie die Informationen per erhaltenILogger Schnittstelle:

// versuchen
{
    // Erstellen Sie eine Instanz der Logger-Klasse
    Logger logger = new Logger();
    // Erstellen Sie eine Instanz der Parser-Klasse mit den Parser-Einstellungen
    using (Parser parser = new Parser(filePath, null, new ParserSettings(logger)))
    {
        // Prüfen, ob Textextraktion unterstützt wird
        if (!parser.Features.Text)
        {
            Console.WriteLine("Text extraction isn't supported.");
            return;
        }
        // Dokumenttext drucken
        using (TextReader reader = parser.GetText())
        {
            Console.WriteLine(reader.ReadToEnd());
        }
    }
}
catch (InvalidPasswordException)
{
    ; // Ausnahme ignorieren
}
 
private class Logger : ILogger
{
    public void Error(string message, Exception exception)
    {
        // Fehlermeldung drucken
        Console.WriteLine("Error: " + message);
    }
    public void Trace(string message)
    {
        // Ereignisnachricht drucken
        Console.WriteLine("Event: " + message);
    }
    public void Warning(string message)
    {
        // Warnmeldung drucken
        Console.WriteLine("Warning: " + message);
    }
}

Siehe auch


Parser(Stream)

Initialisiert eine neue Instanz vonParser Klasse.

public Parser(Stream document)
Parameter Typ Beschreibung
document Stream Der Quelleingabestream.

Bemerkungen

Erfahren Sie mehr:

Beispiele

Das folgende Beispiel zeigt, wie das Dokument aus dem Stream geladen wird:

// Eine Instanz der Parser-Klasse mit dem Stream erstellen
using (Parser parser = new Parser(stream))
{
    // Einen Text in den Reader extrahieren
    using (TextReader reader = parser.GetText())
    {
        // Einen Text aus dem Dokument drucken
        // Wenn die Textextraktion nicht unterstützt wird, ist ein Reader null
        Console.WriteLine(reader == null ? "Text extraction isn't supported" : reader.ReadToEnd());
    }
}

Siehe auch


Parser(Stream, LoadOptions)

Initialisiert eine neue Instanz vonParser Klasse mitLoadOptions .

public Parser(Stream document, LoadOptions loadOptions)
Parameter Typ Beschreibung
document Stream Der Quelleingabestream.
loadOptions LoadOptions Die Optionen zum Öffnen der Datei.

Bemerkungen

Erfahren Sie mehr:

Beispiele

In einigen Fällen ist eine Definition erforderlichFileFormat. Sowohl für Sonderfälle (Datenbanken, E-Mail-Server) als auch zur Erkennung von Dateitypen anhand des Inhalts:

Das Dokumentenkennwort wird übergebenLoadOptions Klasse:

// Erstellen Sie eine Instanz der Parser-Klasse für das Markdown-Dokument
using (Parser parser = new Parser(stream, new LoadOptions(FileFormat.Markup)))
{
    // Prüfen, ob Textextraktion unterstützt wird
    if (!parser.Features.Text)
    {
        Console.WriteLine("Text extraction isn't supported.");
        return;
    }
    using (TextReader reader = parser.GetText())
    {
        // Dokumenttext drucken
        // Markdown wird erkannt; Text ohne Sonderzeichen wird gedruckt
        Console.WriteLine(reader.ReadToEnd());
    }
}
try
{
    // Erstellen Sie eine Instanz der Parser-Klasse mit dem Passwort:
    using (Parser parser = new Parser(filePath, new LoadOptions(password)))
    {
        // Prüfen, ob Textextraktion unterstützt wird
        if (!parser.Features.Text)
        {
            Console.WriteLine("Text extraction isn't supported.");
            return;
        }
        // Dokumenttext drucken
        using (TextReader reader = parser.GetText())
        {
            Console.WriteLine(reader.ReadToEnd());
        }
    }
}
catch (InvalidPasswordException)
{
    // Gibt die Nachricht aus, wenn das Passwort falsch oder leer ist
    Console.WriteLine("Invalid password");
}

Siehe auch


Parser(Stream, ParserSettings)

Initialisiert eine neue Instanz vonParser Klasse mitParserSettings .

public Parser(Stream document, ParserSettings parserSettings)
Parameter Typ Beschreibung
document Stream Der Quelleingabestream.
parserSettings ParserSettings Die Parsereinstellungen, die zum Anpassen der Datenextraktion verwendet werden.

Siehe auch


Parser(Stream, LoadOptions, ParserSettings)

Initialisiert eine neue Instanz vonParser Klasse mitLoadOptions undParserSettings .

public Parser(Stream document, LoadOptions loadOptions, ParserSettings parserSettings)
Parameter Typ Beschreibung
document Stream Der Quelleingabestream.
loadOptions LoadOptions Die Optionen zum Öffnen der Datei.
parserSettings ParserSettings Die Parsereinstellungen, die zum Anpassen der Datenextraktion verwendet werden.

Bemerkungen

Erfahren Sie mehr:

Beispiele

Das folgende Beispiel zeigt, wie Sie die Informationen per erhaltenILogger Schnittstelle:

// versuchen
{
    // Erstellen Sie eine Instanz der Logger-Klasse
    Logger logger = new Logger();
    // Erstellen Sie eine Instanz der Parser-Klasse mit den Parser-Einstellungen
    using (Parser parser = new Parser(stream, null, new ParserSettings(logger)))
    {
        // Prüfen, ob Textextraktion unterstützt wird
        if (!parser.Features.Text)
        {
            Console.WriteLine("Text extraction isn't supported.");
            return;
        }
        // Dokumenttext drucken
        using (TextReader reader = parser.GetText())
        {
            Console.WriteLine(reader.ReadToEnd());
        }
    }
}
catch (InvalidPasswordException)
{
    ; // Ausnahme ignorieren
}
 
private class Logger : ILogger
{
    public void Error(string message, Exception exception)
    {
        // Fehlermeldung drucken
        Console.WriteLine("Error: " + message);
    }
    public void Trace(string message)
    {
        // Ereignisnachricht drucken
        Console.WriteLine("Event: " + message);
    }
    public void Warning(string message)
    {
        // Warnmeldung drucken
        Console.WriteLine("Warning: " + message);
    }
}

Siehe auch