小编use*_*447的帖子

System.Net.Http.HttpClient 不包含 DownloadData 的定义

我想使用 web api 获取歌词,但它有一个错误“System.Net.Http.HttpClient”不包含“DownloadData”的定义,并且没有扩展方法“DownloadData”接受类型为“System.Net”的第一个参数。可以找到 Http.HttpClient'(您是否缺少 using 指令或程序集引用?)

这是我的代码

internal static class LyricsFetcher
{
    internal static String GetLyrics(String Artist, String Title)
    {
        byte[] responseData;

        string URL;

        URL = "http://api.metrolyrics.com/v1/search/lyrics/?find=" + Artist + "%20" + Title + "&X-API-KEY=1234567890123456789012345678901234567890";

        HttpClient wClient = new HttpClient();
        responseData = wClient.DownloadData(URL); // error
        UTF8Encoding utf8 = new UTF8Encoding();
        String Lyrics = utf8.GetString(responseData,0,responseData.Length);
        return Lyrics;
    }
}
Run Code Online (Sandbox Code Playgroud)

c# dotnet-httpclient

1
推荐指数
1
解决办法
6314
查看次数

从html获取特定数据

我想从 html 获取特定数据。我使用 c# 和 HtmlAgilityPack

这是 HTML 示例:

<p class="heading"><span>Greeting!</span>

<p class='verse'>Hi!<br>               //
Hello!</p><p class='verse'>Hello!<br>  // i want to get this g
Hi!</p>                                //

<p class="writers"><strong>WE</strong><br/>
Run Code Online (Sandbox Code Playgroud)

这是我在 C# 中的代码:

StringBuilder pureText = new StringBuilder();
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(Lyrics);

var s = doc.DocumentNode.Descendants("p");

try
{
     foreach (HtmlNode childNode in s)
     {
                        pureText.Append(childNode.InnerText);
     }
}
catch
{ }
Run Code Online (Sandbox Code Playgroud)

更新:

StringBuilder pureText = new StringBuilder();
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(URL);

var s = doc.DocumentNode.SelectNodes("//p[@class='verse']"); // error

try
{
     foreach …
Run Code Online (Sandbox Code Playgroud)

html c#

1
推荐指数
1
解决办法
927
查看次数

标签 统计

c# ×2

dotnet-httpclient ×1

html ×1