Как получить rss img sr c? - PullRequest
0 голосов
/ 20 апреля 2020

Я хочу получить значение [img src] из xml сайта WordPress. Этот код поставляется со всеми значениями тега.

Xml Адрес: https://yususm.com/feed/

XmlDocument doc = new XmlDocument();
            doc.Load("http://yususm.com/feed/");

            var nsmgr = new XmlNamespaceManager(doc.NameTable);
            nsmgr.AddNamespace("content", "http://purl.org/rss/1.0/modules/content/");


            foreach (XmlNode node in doc.SelectNodes(@"//content:encoded", nsmgr))

            {
                    description = node.InnerText;
                    richTextBox1.Text=description;
            }

Выход:

output

Мне просто нужно значение sr c. как я могу это сделать?

1 Ответ

0 голосов
/ 20 апреля 2020

Поскольку вы пытаетесь прочитать HTML, вам необходимо использовать инструмент, специально предназначенный для этого. Я бы предложил HtmlAgilityPack.

Попробуйте этот код:

var xdoc = XDocument.Load(@"http://yususm.com/feed/");
var nsContent = XNamespace.Get("http://purl.org/rss/1.0/modules/content/");

string[] srcs =
    xdoc
        .Root
        .Descendants(nsContent + "encoded")
        .SelectMany(x =>
        {
            var hdoc = new HtmlAgilityPack.HtmlDocument();
            hdoc.LoadHtml(x.Value);
            return
                hdoc
                    .DocumentNode
                    .SelectNodes("//img[@src]")
                    .Select(n => n.Attributes["src"].Value);
        })
        .ToArray();

Я получаю следующее string[]:

https://i.pinimg.com/originals/90/c4/dc/90c4dce57531675d187bab111c2b67ba.jpg 
https://i.pinimg.com/originals/8e/4d/cd/8e4dcd5a78c8e96f05e31f2c13886f50.jpg 
https://i.pinimg.com/originals/5d/4f/65/5d4f656450e2307bc413d0a6b12a8539.jpg 
https://i.pinimg.com/originals/78/29/80/782980fe5802844669412bfd4b91e523.jpg 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...