从XML文档检索数据并显示在Hero Card中之后。
错误显示为“ Uri字符串太长。”
这里有我的错误截图和源代码。
try
{
//ES26112019
XmlDocument doc = new XmlDocument();
doc.Load(respString);
XmlNodeList xnList = doc.SelectNodes("/rss/channel/item");
var attachments = new List<Attachment>();
foreach (XmlNode xn in xnList)
{
string title = xn["title"].InnerText;
string link = xn["link"].InnerText;
string desc = xn["description"].InnerText;
string newdesc = Regex.Replace(desc, @"[<][^>]*[>]", string.Empty);
//Hero Card
var heroCard = new HeroCard(
title: title.ToString(),
subtitle: newdesc.ToString(),
buttons: new CardAction[]
{
new CardAction(ActionTypes.OpenUrl,"LINK",value:link)
}
).ToAttachment();
attachments.Add(heroCard);
}
var reply = MessageFactory.Carousel(attachments);
await turnContext.SendActivityAsync(reply);
}catch(Exception ex)
{
await turnContext.SendActivityAsync(ex.ToString());
}
任何人都知道如何解决吗?
非常感谢。
如果您使用的是
XDocument.Load(),请尝试改用XDocument.Parse()。
XDocument.Load的参数需要XmlReader或TextReader。
XDocument.Parse的参数需要字符串。
如果您试图将字符串值传递给XDocument.Load(),则会出现此错误。
而且我还找到了一些有用的SO链接,您可以参考