从Lync数据库获取消息文本

时间:2013-08-12 10:42:34

标签: c# parsing lync

我与Lync sql数据库有连接。问题是saome消息存储为HTML,有些类似于:

{\rtf1\fbidis\ansi\ansicpg1252\deff0\nouicompat\deflang1033{\fonttbl{\f0\fnil\fcharset0 Segoe UI;}{\f1\fnil Segoe UI;}}
{\colortbl ;\red0\green0\blue0;}
{\*\generator Riched20 15.0.4420}{\*\mmathPr\mwrapIndent1440 }\viewkind4\uc1 
\pard\cf1\embo\f0\fs20 this\embo0  \embo is\embo0  \embo from\embo0  \embo 
db\embo0\f1\par
{\*\lyncflags rtf=1}}

处理HTML编码的消息很容易,但我怎样才能至少获得其他类型的文本?
Deoes Lync SDK允许这样做?我没有找到如何使用Lync SDK执行此操作 即使Lync SDK允许获取消息文本,我也不想仅为此目的安装SDK。希望有更好的方法。也许有免费的第三方解析器吗?

1 个答案:

答案 0 :(得分:2)

该文本为RTF fornmat。您可以使用System.Windows.Forms命名空间中的RichTextBox将RTF文本转换为纯文本。

首先,您创建一个richtextbox并为其提供文本。

System.Windows.Forms.RichTextBox richTextBox = new System.Windows.Forms.RichTextBox();
richTextBox.Rtf = rtfText;

然后您可以阅读纯文本

string plainText = richTextBox.Text;

在您的示例中对文本执行此操作时,plainText将返回:这是来自db。