C# 如何从约会中获取纯文本。详细信息?

C# 如何从约会中获取纯文本。详细信息?,c#,uwp,C#,Uwp,我试图从Appointment.Details获取纯文本,而不是html文档 我发现,如果事件是由Microsoft日历供应商创建的,例如hotmail,它们的详细信息将显示在html文档中,而不是纯文本(顺便说一句,如果事件是由Gmail创建的,它们的详细信息是纯文本)。我试图以下面的方式获取纯文本,但它不起作用 var appointmentStore = await AppointmentManager.RequestStoreAsync(AppointmentStoreAccessTyp

我试图从
Appointment.Details
获取纯文本,而不是html文档

我发现,如果事件是由Microsoft日历供应商创建的,例如hotmail,它们的详细信息将显示在html文档中,而不是纯文本(顺便说一句,如果事件是由Gmail创建的,它们的详细信息是纯文本)。我试图以下面的方式获取纯文本,但它不起作用

var appointmentStore = await AppointmentManager.RequestStoreAsync(AppointmentStoreAccessType.AllCalendarsReadWrite);

FindAppointmentsOptions options = new FindAppointmentsOptions { MaxCount = 100 };
options.FetchProperties.Add(AppointmentProperties.Subject);
options.FetchProperties.Add(AppointmentProperties.Details);
options.FetchProperties.Add(AppointmentProperties.DetailsKind);

DateTimeOffset startTime = new DateTimeOffset(new DateTime(2018, 2, 1));
// The UWP api gets the events from the Calendar app of Windows 10 OS.
List<Appointment> evtList = 
    (await appointmentStore.FindAppointmentsAsync(startTime, new TimeSpan(30, 0, 0, 0), options)).ToList();

foreach (var evt in evtList) {

    Debug.WriteLine(evt.Subject);

    // I've found if the events were created in Microsoft calendar supplier, e.g. hotmail,
    // the details of them would be the html document instead of the plain text.
    // I've tried to make the evt.Details presented in the plain text 
    // instead of the html document, but this way doesn't work.
    evt.DetailsKind = AppointmentDetailsKind.PlainText;

    Debug.WriteLine(evt.Details);
}
var appointmentStore=await AppointmentManager.RequestStoreAsync(AppointmentStoreAccessType.AllCalendarsReadWrite);
FindAppointmentsOptions选项=新的FindAppointmentsOptions{MaxCount=100};
options.FetchProperties.Add(AppointmentProperties.Subject);
options.FetchProperties.Add(AppointmentProperties.Details);
options.FetchProperties.Add(AppointmentProperties.DetailsKind);
DateTimeOffset startTime=新的DateTimeOffset(新的DateTime(2018,2,1));
//UWP api从Windows 10操作系统的日历应用程序获取事件。
列表

实际上,我在C++环境中工作,也可以使用UWP API。我习惯于考试 并首先验证C#中的API

此外,UWP api,
HtmlUtilities.ConvertToText()
也不能满足我的需要。在我的C++项目中,调用<代码> HTMLTULTIVE。 我发现,如果事件是由Microsoft日历供应商创建的,例如hotmail,它们的详细信息将显示在html文档中,而不是纯文本(顺便说一句,如果事件是由Gmail创建的,它们的详细信息是纯文本)

是的,这是日历商店应用程序中“Microsoft日历供应商”的特殊功能。您可以使用它编辑格式为的详细约会

如果您想将细节转换为纯文本,可以使用解析html,如下所示

if (evt.DetailsKind == AppointmentDetailsKind.Html)
{
    HtmlDocument doc = new HtmlDocument();
    doc.LoadHtml(evt.Details);

    var nodes = doc.DocumentNode.SelectNodes("//p[@class='MsoNormal']");
    foreach (var node in nodes)
    {
        var text = node.InnerText;
    }
}