无效的URI:HeroCard中的Uri字符串太长

问题描述 投票:1回答:1

从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());
                }

截图错误Error in Bot URI

任何人都知道如何解决吗?

非常感谢。

xml-parsing botframework azure-bot-service rss-reader
1个回答
0
投票

如果您使用的是

XDocument.Load(),请尝试改用XDocument.Parse()。

XDocument.Load的参数需要XmlReader或TextReader。

XDocument.Parse的参数需要字符串。

如果您试图将字符串值传递给XDocument.Load(),则会出现此错误。

而且我还找到了一些有用的SO链接,您可以参考

https://stackoverflow.com/a/7043774/2850044

https://stackoverflow.com/a/54782763/2850044

© www.soinside.com 2019 - 2024. All rights reserved.