我在c#中有一个列表。我使用该列表来存储ID。我的任务是检索ID的href。
<item href="Text/Cover.xhtml" id="Cov" media-type="application/xhtml+xml" />
<item href="Text/Back.xhtml" id="Back" media-type="application/xhtml+xml" />
以上是html代码
List<string> list = new List<string>();
foreach (string value in list)
{
MessageBox.Show(value);
HtmlAgilityPack.HtmlDocument document2 = new HtmlAgilityPack.HtmlDocument();
document2.Load(@"C:\try.html");
string tag = document2.GetElementbyId(value).Name;
string href = document2.GetElementbyId(value).GetAttributeValue("href", "");
MessageBox.Show(href);
}
上面的代码不起作用。
但是当我输入ID时,下面的代码工作正常。它为什么有效?上面的代码只是传递列表的值。并且列表的第一个值是“cov”。那么差异呢?非常感谢。我现在真的很困惑。问题是什么
string tag = document2.GetElementbyId("cov").Name;
string href = document2.GetElementbyId("cov").GetAttributeValue("href", "");
答案 0 :(得分:0)
我已经找到了问题
列表中的项目包含空格。所以我需要trim()以使其工作
string tag = document2.GetElementbyId(value.Trim()).Name;
string href = document2.GetElementbyId(value.Trim()).GetAttributeValue("href", "");