在使用HAP解析html doc时,我遇到了图像的src属性问题。 Id src属性值是带参数的长网址,例如:<img border='0' title='Kommunelogo' alt='Kommunelogo' style='margin-top: 5px;' src='http://livskraftig.bedrekommune.no/more/reports/profilechart.jsp?legend=Y&graphtype=xy&profileid=19433213274429306&element=72&addyears=true' />
然后HAP解析图像:<img border='0' title='Kommunelogo' alt='Kommunelogo' style='margin-top: 5px;' src='http://livskraftig.bedrekommune.no/more/reports/profilechart.jsp?legend="Y"&amp;graphtype="xy"&amp;profileid="19433213274429306"&amp;element="72"&amp;addyears="tru"e'/>
看起来HAP将params视为属于他们的属性。
我的代码:
HtmlDocument doc = new HtmlDocument();
doc.OptionOutputAsXml = true;
doc.OptionAutoCloseOnEnd = true;
doc.OptionFixNestedTags = true;
doc.LoadHtml(input_which_is_a_whole_html_file);
HtmlAgilityPack.HtmlNodeCollection imageNodes = doc.DocumentNode.SelectNodes("//img");
if (imageNodes != null)
{
foreach (HtmlAgilityPack.HtmlNode imgNode in imageNodes)
{
string imgSrc = imgNode.Attributes["src"].Value;
}
}
任何想法我怎样才能避免这种情况?
非常感谢!
答案 0 :(得分:0)
你的代码可能做了一些奇怪的事情,因为以下工作正常:
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml("<img border='0' title='Kommunelogo' alt='Kommunelogo' style='margin-top: 5px;' src='http://livskraftig.bedrekommune.no/more/reports/profilechart.jsp?legend=Y&graphtype=xy&profileid=19433213274429306&element=72&addyears=true' />");
doc.Save(Console.Out);
你有一个复制品吗?