htmllagilitypack HtmlNode如何获取
本文关键字:lt 标签 option select 何获取 HtmlNode 获取 htmllagilitypack | 更新日期: 2023-09-27 17:52:54
我正在使用htmllagilitypack HtmlNode,我想获得
<select> and <option> and all other html tags.
当前HtmlNode只能解析html, table,div,…标签。我怎么能得到选项和选择标签。
我的当前代码:
if (htmlContent != null)
{
doc.LoadHtml(htmlContent);
if (doc.DocumentNode.SelectNodes("//*") == null)
{
List<TagValuePair> tempList = new List<TagValuePair>();
tempList.Add(new TagValuePair("Error!", htmlContent, -1));
return tempList;
}
foreach (HtmlNode tag in doc.DocumentNode.SelectNodes("//*"))
{
try
{
if (!string.IsNullOrEmpty(tag.InnerHtml))
{
if (!tagAppearance.Keys.Contains(tag.Name))
{
tagAppearance.Add(tag.Name, 1);
}
else
tagAppearance[tag.Name] = tagAppearance[tag.Name] + 1;
tagsValues.Add(
new TagValuePair(tag.Name, tag.InnerHtml.Trim(),
tagAppearance[tag.Name])
);
}
}
catch
{
return null;
}
}
}
i try with
doc.DocumentNode.SelectNodes("//option");
和我得到选项标签,但没有其他。如何获得所有+选项并选择
编辑:需要从这个html选项中获取所有数据:
<select onchange="javascript:submitGlobalDiscountSvetisce(this.value);submitGlobalDiscount(this.value);" name="datumper">
<option value="18.6.2011|7">18.jun. 7 noči od 515,00 EUR</option>
<option value="25.6.2011|7">25.jun. 7 noči od 515,00 EUR</option>
<option value="2.7.2011|7">2.jul. 7 noči od 515,00 EUR</option>
<option value="9.7.2011|7">9.jul. 7 noči od 515,00 EUR</option>
<option value="16.7.2011|7">16.jul. 7 noči od 515,00 EUR</option>
<option value="23.7.2011|7">23.jul. 7 noči od 515,00 EUR</option>
<option value="30.7.2011|7">30.jul. 7 noči od 529,00 EUR</option>
<option value="6.8.2011|7">6.avg. 7 noči od 529,00 EUR</option>
<option value="13.8.2011|7">13.avg. 7 noči od 529,00 EUR</option>
<option value="20.8.2011|7">20.avg. 7 noči od 529,00 EUR</option>
<option value="3.9.2011|7">3.sep. 7 noči od 487,00 EUR</option>
<option value="10.9.2011|7">10.sep. 7 noči od 487,00 EUR</option>
<option value="17.9.2011|7">17.sep. 7 noči od 487,00 EUR</option>
<option value="24.9.2011|7">24.sep. 7 noči od 487,00 EUR</option>
<option value="1.10.2011|7">1.okt. 7 noči od 529,00 EUR</option>
<option value="8.10.2011|7">8.okt. 7 noči od 529,00 EUR</option>
<option value="15.10.2011|7">15.okt. 7 noči od 529,00 EUR</option>
<option value="22.10.2011|7">22.okt. 7 noči od 567,00 EUR</option>
<option value="29.10.2011|7">29.okt. 7 noči od 567,00 EUR</option>
</select>
默认情况下,OPTION标记会被特殊处理(由于历史原因)。看到我的回答在这个线程这里在SO:解析HTML阅读选项标签内容与htmllagillitypack
您可以使用html.DocumentNode.SelectSingleNode("//select[@id='idElement']")。OuterHtml这一行带来了select和options。
快乐代码