Parser

Parser(DbConnection)

Αρχικοποιεί μια νέα παρουσία τουParser κλάση για εξαγωγή δεδομένων από μια βάση δεδομένων.

public Parser(DbConnection connection)
Παράμετρος Τύπος Περιγραφή
connection DbConnection Η σύνδεση της βάσης δεδομένων.

Παρατηρήσεις

Μάθε περισσότερα:

Παραδείγματα

Το ακόλουθο παράδειγμα δείχνει πώς να εξαγάγετε δεδομένα από τη βάση δεδομένων Sqlite:

// Δημιουργία αντικειμένου DbConnection
DbConnection connection = new SQLiteConnection(string.Format("Data Source={0};Version=3;", Constants.SampleDatabase));
// Δημιουργήστε μια παρουσία κλάσης Parser για εξαγωγή πινάκων από τη βάση δεδομένων
using (Parser parser = new Parser(connection))
{
    // Ελέγξτε αν υποστηρίζεται η εξαγωγή κειμένου
    if (!parser.Features.Text)
    {
        Console.WriteLine("Text extraction isn't supported.");
        return;
    }
    // Ελέγξτε αν υποστηρίζεται η εξαγωγή toc
    if (!parser.Features.Toc)
    {
        Console.WriteLine("Toc extraction isn't supported.");
        return;
    }
    // Λήψη λίστας πινάκων
    IEnumerable<TocItem> toc = parser.GetToc();
    // Επανάληψη πάνω από πίνακες
    foreach (TocItem i in toc)
    {
        // Εκτυπώστε το όνομα του πίνακα
        Console.WriteLine(i.Text);
        // Εξαγωγή περιεχομένου πίνακα ως κείμενο
        using (TextReader reader = parser.GetText(i.PageIndex.Value))
        {
            Console.WriteLine(reader.ReadToEnd());
        }
    }
}

Δείτε επίσης


Parser(DbConnection, ParserSettings)

Αρχικοποιεί μια νέα παρουσία τουParser κλάση για εξαγωγή δεδομένων από μια βάση δεδομένων.

public Parser(DbConnection connection, ParserSettings parserSettings)
Παράμετρος Τύπος Περιγραφή
connection DbConnection Η σύνδεση της βάσης δεδομένων.
parserSettings ParserSettings Οι ρυθμίσεις ανάλυσης που χρησιμοποιούνται για την προσαρμογή της εξαγωγής δεδομένων.

Παρατηρήσεις

Μάθε περισσότερα:

Παραδείγματα

Το ακόλουθο παράδειγμα δείχνει πώς να εξαγάγετε δεδομένα από τη βάση δεδομένων Sqlite:

// Δημιουργία αντικειμένου DbConnection
DbConnection connection = new SQLiteConnection(string.Format("Data Source={0};Version=3;", Constants.SampleDatabase));
// Δημιουργήστε μια παρουσία κλάσης Parser για εξαγωγή πινάκων από τη βάση δεδομένων
using (Parser parser = new Parser(connection))
{
    // Ελέγξτε αν υποστηρίζεται η εξαγωγή κειμένου
    if (!parser.Features.Text)
    {
        Console.WriteLine("Text extraction isn't supported.");
        return;
    }
    // Ελέγξτε αν υποστηρίζεται η εξαγωγή toc
    if (!parser.Features.Toc)
    {
        Console.WriteLine("Toc extraction isn't supported.");
        return;
    }
    // Λήψη λίστας πινάκων
    IEnumerable<TocItem> toc = parser.GetToc();
    // Επανάληψη πάνω από πίνακες
    foreach (TocItem i in toc)
    {
        // Εκτυπώστε το όνομα του πίνακα
        Console.WriteLine(i.Text);
        // Εξαγωγή περιεχομένου πίνακα ως κείμενο
        using (TextReader reader = parser.GetText(i.PageIndex.Value))
        {
            Console.WriteLine(reader.ReadToEnd());
        }
    }
}

Δείτε επίσης


Parser(EmailConnection)

Αρχικοποιεί μια νέα παρουσία τουParser κλάση για εξαγωγή δεδομένων από απομακρυσμένο διακομιστή email.

public Parser(EmailConnection connection)
Παράμετρος Τύπος Περιγραφή
connection EmailConnection Η σύνδεση email.

Παρατηρήσεις

Μάθε περισσότερα:

Παραδείγματα

Το ακόλουθο παράδειγμα δείχνει πώς να εξαγάγετε μηνύματα ηλεκτρονικού ταχυδρομείου από τον Exchange Server:

// Δημιουργήστε το αντικείμενο σύνδεσης για το πρωτόκολλο Exchange Web Services 
EmailConnection connection = new EmailEwsConnection(
    "https://outlook.office365.com/ews/exchange.asmx",
    "email@server",
    "password");
 
// Δημιουργήστε μια παρουσία της κλάσης Parser για εξαγωγή μηνυμάτων ηλεκτρονικού ταχυδρομείου από τον απομακρυσμένο διακομιστή
using (Parser parser = new Parser(connection))
{
    // Ελέγξτε εάν υποστηρίζεται η εξαγωγή κοντέινερ
    if (!parser.Features.Container)
    {
        Console.WriteLine("Container extraction isn't supported.");
        return;
    }

// Εξαγωγή μηνυμάτων email από τον διακομιστή
IEnumerable<ContainerItem> emails = parser.GetContainer();
 
    // Επανάληψη σε συνημμένα
    foreach (ContainerItem item in emails)
    {
        // Δημιουργήστε μια παρουσία της κλάσης Parser για μήνυμα ηλεκτρονικού ταχυδρομείου
        using (Parser emailParser = item.OpenParser())
        {
            // Εξαγωγή του κειμένου email
            using (TextReader reader = emailParser.GetText())
            {
                // Εκτυπώστε το κείμενο του email
                Console.WriteLine(reader == null ? "Text extraction isn't supported." : reader.ReadToEnd());
            }
        }
    }
}   

Δείτε επίσης


Parser(EmailConnection, ParserSettings)

Αρχικοποιεί μια νέα παρουσία τουParser κλάση για εξαγωγή δεδομένων από απομακρυσμένο διακομιστή email.

public Parser(EmailConnection connection, ParserSettings parserSettings)
Παράμετρος Τύπος Περιγραφή
connection EmailConnection Η σύνδεση email.
parserSettings ParserSettings Οι ρυθμίσεις ανάλυσης που χρησιμοποιούνται για την προσαρμογή της εξαγωγής δεδομένων.

Παρατηρήσεις

Μάθε περισσότερα:

Παραδείγματα

Το ακόλουθο παράδειγμα δείχνει πώς να εξαγάγετε μηνύματα ηλεκτρονικού ταχυδρομείου από τον Exchange Server:

// Δημιουργήστε το αντικείμενο σύνδεσης για το πρωτόκολλο Exchange Web Services 
EmailConnection connection = new EmailEwsConnection(
    "https://outlook.office365.com/ews/exchange.asmx",
    "email@server",
    "password");
 
// Δημιουργήστε μια παρουσία της κλάσης Parser για εξαγωγή μηνυμάτων ηλεκτρονικού ταχυδρομείου από τον απομακρυσμένο διακομιστή
using (Parser parser = new Parser(connection))
{
    // Ελέγξτε εάν υποστηρίζεται η εξαγωγή κοντέινερ
    if (!parser.Features.Container)
    {
        Console.WriteLine("Container extraction isn't supported.");
        return;
    }

// Εξαγωγή μηνυμάτων email από τον διακομιστή
IEnumerable<ContainerItem> emails = parser.GetContainer();
 
    // Επανάληψη σε συνημμένα
    foreach (ContainerItem item in emails)
    {
        // Δημιουργήστε μια παρουσία της κλάσης Parser για μήνυμα ηλεκτρονικού ταχυδρομείου
        using (Parser emailParser = item.OpenParser())
        {
            // Εξαγωγή του κειμένου email
            using (TextReader reader = emailParser.GetText())
            {
                // Εκτυπώστε το κείμενο του email
                Console.WriteLine(reader == null ? "Text extraction isn't supported." : reader.ReadToEnd());
            }
        }
    }
}   

Δείτε επίσης


Parser(string)

Αρχικοποιεί μια νέα παρουσία τουParser τάξη.

public Parser(string filePath)
Παράμετρος Τύπος Περιγραφή
filePath String Η διαδρομή προς το αρχείο.

Παρατηρήσεις

Μάθε περισσότερα:

Παραδείγματα

Το ακόλουθο παράδειγμα δείχνει πώς να φορτώσετε το έγγραφο από τον τοπικό δίσκο:

// Δημιουργήστε μια παρουσία της κλάσης Parser με το filePath
using (Parser parser = new Parser(filePath))
{
    // Εξαγωγή κειμένου στον αναγνώστη
    using (TextReader reader = parser.GetText())
    {
        // Εκτύπωση κειμένου από το έγγραφο
        // Εάν η εξαγωγή κειμένου δεν υποστηρίζεται, ο αναγνώστης είναι μηδενικός
        Console.WriteLine(reader == null ? "Text extraction isn't supported" : reader.ReadToEnd());
    }
}

Δείτε επίσης


Parser(string, LoadOptions)

Αρχικοποιεί μια νέα παρουσία τουParser τάξη μεLoadOptions .

public Parser(string filePath, LoadOptions loadOptions)
Παράμετρος Τύπος Περιγραφή
filePath String Η διαδρομή προς το αρχείο.
loadOptions LoadOptions Οι επιλογές για το άνοιγμα του αρχείου.

Παρατηρήσεις

Μάθε περισσότερα:

Παραδείγματα

Ο κωδικός πρόσβασης του εγγράφου μεταβιβάζεται από την κλάση LoadOptions:

try
{
    // Δημιουργήστε μια παρουσία της κλάσης Parser με τον κωδικό πρόσβασης:
    using (Parser parser = new Parser(filePath, new LoadOptions(password)))
    {
        // Ελέγξτε αν υποστηρίζεται η εξαγωγή κειμένου
        if (!parser.Features.Text)
        {
            Console.WriteLine("Text extraction isn't supported.");
            return;
        }
        // Εκτυπώστε το κείμενο του εγγράφου
        using (TextReader reader = parser.GetText())
        {
            Console.WriteLine(reader.ReadToEnd());
        }
    }
}
catch (InvalidPasswordException)
{
    // Εκτυπώστε το μήνυμα εάν ο κωδικός πρόσβασης είναι λανθασμένος ή κενός
    Console.WriteLine("Invalid password");
}

Δείτε επίσης


Parser(string, ParserSettings)

Αρχικοποιεί μια νέα παρουσία τουParser τάξη μεParserSettings .

public Parser(string filePath, ParserSettings parserSettings)
Παράμετρος Τύπος Περιγραφή
filePath String Η διαδρομή προς το αρχείο.
parserSettings ParserSettings Οι ρυθμίσεις ανάλυσης που χρησιμοποιούνται για την προσαρμογή της εξαγωγής δεδομένων.

Δείτε επίσης


Parser(string, LoadOptions, ParserSettings)

Αρχικοποιεί μια νέα παρουσία τουParser τάξη μεLoadOptions καιParserSettings .

public Parser(string filePath, LoadOptions loadOptions, ParserSettings parserSettings)
Παράμετρος Τύπος Περιγραφή
filePath String Η διαδρομή προς το αρχείο.
loadOptions LoadOptions Οι επιλογές για το άνοιγμα του αρχείου.
parserSettings ParserSettings Οι ρυθμίσεις ανάλυσης που χρησιμοποιούνται για την προσαρμογή της εξαγωγής δεδομένων.

Παρατηρήσεις

Μάθε περισσότερα:

Παραδείγματα

Το ακόλουθο παράδειγμα δείχνει πώς να λαμβάνετε τις πληροφορίες μέσωILogger διεπαφή:

// δοκιμάστε
{
    // Δημιουργήστε μια παρουσία της κλάσης Logger
    Logger logger = new Logger();
    // Δημιουργήστε μια παρουσία της κλάσης Parser με τις ρυθμίσεις του parser
    using (Parser parser = new Parser(filePath, null, new ParserSettings(logger)))
    {
        // Ελέγξτε αν υποστηρίζεται η εξαγωγή κειμένου
        if (!parser.Features.Text)
        {
            Console.WriteLine("Text extraction isn't supported.");
            return;
        }
        // Εκτυπώστε το κείμενο του εγγράφου
        using (TextReader reader = parser.GetText())
        {
            Console.WriteLine(reader.ReadToEnd());
        }
    }
}
catch (InvalidPasswordException)
{
    ; // Αγνοήστε την εξαίρεση
}
 
private class Logger : ILogger
{
    public void Error(string message, Exception exception)
    {
        // Μήνυμα σφάλματος εκτύπωσης
        Console.WriteLine("Error: " + message);
    }
    public void Trace(string message)
    {
        // Εκτύπωση μηνύματος συμβάντος
        Console.WriteLine("Event: " + message);
    }
    public void Warning(string message)
    {
        // Εκτύπωση προειδοποιητικού μηνύματος
        Console.WriteLine("Warning: " + message);
    }
}

Δείτε επίσης


Parser(Stream)

Αρχικοποιεί μια νέα παρουσία τουParser τάξη.

public Parser(Stream document)
Παράμετρος Τύπος Περιγραφή
document Stream Η ροή εισόδου της πηγής.

Παρατηρήσεις

Μάθε περισσότερα:

Παραδείγματα

Το ακόλουθο παράδειγμα δείχνει πώς να φορτώσετε το έγγραφο από τη ροή:

// Δημιουργήστε μια παρουσία της κλάσης Parser με τη ροή
using (Parser parser = new Parser(stream))
{
    // Εξαγωγή κειμένου στον αναγνώστη
    using (TextReader reader = parser.GetText())
    {
        // Εκτύπωση κειμένου από το έγγραφο
        // Εάν η εξαγωγή κειμένου δεν υποστηρίζεται, ο αναγνώστης είναι μηδενικός
        Console.WriteLine(reader == null ? "Text extraction isn't supported" : reader.ReadToEnd());
    }
}

Δείτε επίσης


Parser(Stream, LoadOptions)

Αρχικοποιεί μια νέα παρουσία τουParser τάξη μεLoadOptions .

public Parser(Stream document, LoadOptions loadOptions)
Παράμετρος Τύπος Περιγραφή
document Stream Η ροή εισόδου της πηγής.
loadOptions LoadOptions Οι επιλογές για το άνοιγμα του αρχείου.

Παρατηρήσεις

Μάθε περισσότερα:

Παραδείγματα

Σε ορισμένες περιπτώσεις είναι απαραίτητο να οριστείFileFormat. Τόσο για ειδικές περιπτώσεις (βάσεις δεδομένων, διακομιστής email) όσο και για τον εντοπισμό τύπων αρχείων με βάση το περιεχόμενο:

Ο κωδικός πρόσβασης του εγγράφου διαβιβάζεταιLoadOptions τάξη:

// Δημιουργία μιας παρουσίας της κλάσης Parser για έγγραφο σήμανσης
using (Parser parser = new Parser(stream, new LoadOptions(FileFormat.Markup)))
{
    // Ελέγξτε αν υποστηρίζεται η εξαγωγή κειμένου
    if (!parser.Features.Text)
    {
        Console.WriteLine("Text extraction isn't supported.");
        return;
    }
    using (TextReader reader = parser.GetText())
    {
        // Εκτυπώστε το κείμενο του εγγράφου
        // Εντοπίζεται Markdown. εκτυπώνεται κείμενο χωρίς ειδικά σύμβολα
        Console.WriteLine(reader.ReadToEnd());
    }
}
try
{
    // Δημιουργήστε μια παρουσία της κλάσης Parser με τον κωδικό πρόσβασης:
    using (Parser parser = new Parser(filePath, new LoadOptions(password)))
    {
        // Ελέγξτε αν υποστηρίζεται η εξαγωγή κειμένου
        if (!parser.Features.Text)
        {
            Console.WriteLine("Text extraction isn't supported.");
            return;
        }
        // Εκτυπώστε το κείμενο του εγγράφου
        using (TextReader reader = parser.GetText())
        {
            Console.WriteLine(reader.ReadToEnd());
        }
    }
}
catch (InvalidPasswordException)
{
    // Εκτυπώστε το μήνυμα εάν ο κωδικός πρόσβασης είναι λανθασμένος ή κενός
    Console.WriteLine("Invalid password");
}

Δείτε επίσης


Parser(Stream, ParserSettings)

Αρχικοποιεί μια νέα παρουσία τουParser τάξη μεParserSettings .

public Parser(Stream document, ParserSettings parserSettings)
Παράμετρος Τύπος Περιγραφή
document Stream Η ροή εισόδου της πηγής.
parserSettings ParserSettings Οι ρυθμίσεις ανάλυσης που χρησιμοποιούνται για την προσαρμογή της εξαγωγής δεδομένων.

Δείτε επίσης


Parser(Stream, LoadOptions, ParserSettings)

Αρχικοποιεί μια νέα παρουσία τουParser τάξη μεLoadOptions καιParserSettings .

public Parser(Stream document, LoadOptions loadOptions, ParserSettings parserSettings)
Παράμετρος Τύπος Περιγραφή
document Stream Η ροή εισόδου της πηγής.
loadOptions LoadOptions Οι επιλογές για το άνοιγμα του αρχείου.
parserSettings ParserSettings Οι ρυθμίσεις ανάλυσης που χρησιμοποιούνται για την προσαρμογή της εξαγωγής δεδομένων.

Παρατηρήσεις

Μάθε περισσότερα:

Παραδείγματα

Το ακόλουθο παράδειγμα δείχνει πώς να λαμβάνετε τις πληροφορίες μέσωILogger διεπαφή:

// δοκιμάστε
{
    // Δημιουργήστε μια παρουσία της κλάσης Logger
    Logger logger = new Logger();
    // Δημιουργήστε μια παρουσία της κλάσης Parser με τις ρυθμίσεις του parser
    using (Parser parser = new Parser(stream, null, new ParserSettings(logger)))
    {
        // Ελέγξτε αν υποστηρίζεται η εξαγωγή κειμένου
        if (!parser.Features.Text)
        {
            Console.WriteLine("Text extraction isn't supported.");
            return;
        }
        // Εκτυπώστε το κείμενο του εγγράφου
        using (TextReader reader = parser.GetText())
        {
            Console.WriteLine(reader.ReadToEnd());
        }
    }
}
catch (InvalidPasswordException)
{
    ; // Αγνοήστε την εξαίρεση
}
 
private class Logger : ILogger
{
    public void Error(string message, Exception exception)
    {
        // Μήνυμα σφάλματος εκτύπωσης
        Console.WriteLine("Error: " + message);
    }
    public void Trace(string message)
    {
        // Εκτύπωση μηνύματος συμβάντος
        Console.WriteLine("Event: " + message);
    }
    public void Warning(string message)
    {
        // Εκτύπωση προειδοποιητικού μηνύματος
        Console.WriteLine("Warning: " + message);
    }
}

Δείτε επίσης