我正在尝试从网站获取文字说明并使用此代码
HttpResponseMessage response1 = await httpClient.GetAsync(url);
response1.EnsureSuccessStatusCode();
string srcCode = await response1.Content.ReadAsStringAsync();
string desc = "";
rem = @"id=""full_notes"">";
if (srcCode.IndexOf(rem) != -1)
{
desc = srcCode.Remove(0, srcCode.IndexOf(rem) + rem.Length);
rem = @"<a href=""#"">less</a></span>";
desc = desc.Remove(desc.IndexOf(rem));
}
else
{
rem = @"<span>Description:</span>";
desc = srcCode.Remove(0, srcCode.IndexOf(rem) + rem.Length+15);
rem = "</div>";
desc = desc.Remove(desc.IndexOf(rem));
}
string rep = @"""";
desc.Replace(""",rep);
on.Description = desc;
一切顺利,我在一个文本块中显示它,但问题来自我得到的文本引用“”然后文本块只显示&amp; quot而不是“ 有谁知道如何解决这个问题?
注意:我尝试使用替换,如代码中所示无法正常工作
答案 0 :(得分:3)
您正在调用Replace
但没有对结果做任何事情 - 字符串在C#中是不可变的,因此Replace
方法不会更改现有字符串的内容。正如文档所述:
此方法不会修改当前实例的值。相反,它返回一个新字符串,其中所有出现的 oldValue 都被 newValue 替换。
所以你需要:
desc = desc.Replace(""", "\"");
从根本上说,我认为你最好使用HTML解析器(例如HTML Agility Pack)。那应该能够为你执行这种实体替换。