我与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。希望有更好的方法。也许有免费的第三方解析器吗?
答案 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。