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());
}
}
}
也可以看看
- class Parser
- 命名空间 GroupDocs.Parser
- 部件 GroupDocs.Parser
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());
}
}
}
也可以看看
- class ParserSettings
- class Parser
- 命名空间 GroupDocs.Parser
- 部件 GroupDocs.Parser
Parser(EmailConnection)
初始化一个新的实例Parser
从远程电子邮件服务器中提取数据的类。
public Parser(EmailConnection connection)
范围 | 类型 | 描述 |
---|---|---|
connection | EmailConnection | 电子邮件连接。 |
评论
了解更多:
例子
以下示例显示如何从 Exchange Server 中提取电子邮件:
// 为 Exchange Web 服务协议创建连接对象
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;
}
// 从服务器中提取电子邮件信息
IEnumerable<ContainerItem> emails = parser.GetContainer();
// 遍历附件
foreach (ContainerItem item in emails)
{
// 为电子邮件创建 Parser 类的实例
using (Parser emailParser = item.OpenParser())
{
// 提取邮件文本
using (TextReader reader = emailParser.GetText())
{
// 打印邮件文本
Console.WriteLine(reader == null ? "Text extraction isn't supported." : reader.ReadToEnd());
}
}
}
}
也可以看看
- class EmailConnection
- class Parser
- 命名空间 GroupDocs.Parser
- 部件 GroupDocs.Parser
Parser(EmailConnection, ParserSettings)
初始化一个新的实例Parser
从远程电子邮件服务器中提取数据的类。
public Parser(EmailConnection connection, ParserSettings parserSettings)
范围 | 类型 | 描述 |
---|---|---|
connection | EmailConnection | 电子邮件连接。 |
parserSettings | ParserSettings | 用于自定义数据提取的解析器设置。 |
评论
了解更多:
例子
以下示例显示如何从 Exchange Server 中提取电子邮件:
// 为 Exchange Web 服务协议创建连接对象
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;
}
// 从服务器中提取电子邮件信息
IEnumerable<ContainerItem> emails = parser.GetContainer();
// 遍历附件
foreach (ContainerItem item in emails)
{
// 为电子邮件创建 Parser 类的实例
using (Parser emailParser = item.OpenParser())
{
// 提取邮件文本
using (TextReader reader = emailParser.GetText())
{
// 打印邮件文本
Console.WriteLine(reader == null ? "Text extraction isn't supported." : reader.ReadToEnd());
}
}
}
}
也可以看看
- class EmailConnection
- class ParserSettings
- class Parser
- 命名空间 GroupDocs.Parser
- 部件 GroupDocs.Parser
Parser(string)
初始化一个新的实例Parser
类.
public Parser(string filePath)
范围 | 类型 | 描述 |
---|---|---|
filePath | String | 文件的路径。 |
评论
了解更多:
例子
以下示例显示如何从本地磁盘加载文档:
// 使用文件路径创建 Parser 类的实例
using (Parser parser = new Parser(filePath))
{
// 将文本提取到阅读器中
using (TextReader reader = parser.GetText())
{
// 打印文档中的文本
// 如果不支持文本提取,则读取器为空
Console.WriteLine(reader == null ? "Text extraction isn't supported" : reader.ReadToEnd());
}
}
也可以看看
- class Parser
- 命名空间 GroupDocs.Parser
- 部件 GroupDocs.Parser
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");
}
也可以看看
- class LoadOptions
- class Parser
- 命名空间 GroupDocs.Parser
- 部件 GroupDocs.Parser
Parser(string, ParserSettings)
初始化一个新的实例Parser
类ParserSettings
.
public Parser(string filePath, ParserSettings parserSettings)
范围 | 类型 | 描述 |
---|---|---|
filePath | String | 文件的路径。 |
parserSettings | ParserSettings | 用于自定义数据提取的解析器设置。 |
也可以看看
- class ParserSettings
- class Parser
- 命名空间 GroupDocs.Parser
- 部件 GroupDocs.Parser
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 类的实例
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);
}
}
也可以看看
- class LoadOptions
- class ParserSettings
- class Parser
- 命名空间 GroupDocs.Parser
- 部件 GroupDocs.Parser
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());
}
}
也可以看看
- class Parser
- 命名空间 GroupDocs.Parser
- 部件 GroupDocs.Parser
Parser(Stream, LoadOptions)
初始化一个新的实例Parser
类LoadOptions
.
public Parser(Stream document, LoadOptions loadOptions)
范围 | 类型 | 描述 |
---|---|---|
document | Stream | 源输入流。 |
loadOptions | LoadOptions | 打开文件的选项。 |
评论
了解更多:
例子
在某些情况下有必要定义FileFormat
既适用于特殊情况(数据库、电子邮件服务器),也适用于通过内容检测文件类型:
文档密码由LoadOptions
班级:
// 为 markdown 文档创建一个 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");
}
也可以看看
- class LoadOptions
- class Parser
- 命名空间 GroupDocs.Parser
- 部件 GroupDocs.Parser
Parser(Stream, ParserSettings)
初始化一个新的实例Parser
类ParserSettings
.
public Parser(Stream document, ParserSettings parserSettings)
范围 | 类型 | 描述 |
---|---|---|
document | Stream | 源输入流。 |
parserSettings | ParserSettings | 用于自定义数据提取的解析器设置。 |
也可以看看
- class ParserSettings
- class Parser
- 命名空间 GroupDocs.Parser
- 部件 GroupDocs.Parser
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 类的实例
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);
}
}
也可以看看
- class LoadOptions
- class ParserSettings
- class Parser
- 命名空间 GroupDocs.Parser
- 部件 GroupDocs.Parser