Ich möchte das ganze Wort aus dem Link http://search.freefind.com/siteindex.html?id=59478474<r=10240&fwr=0&pid=i&ics=1 Ich habe versucht, etwas wie folgt:
HtmlWeb web = new HtmlWeb();
HtmlAgilityPack.HtmlDocument doc = web.Load("http://search.freefind.com/siteindex.html?id=59478474<r=10240&fwr=0&pid=i&ics=1");
HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes("//font[@class='search-index-font']//a");
if (nodes != null)
{
foreach (HtmlNode n in nodes)
{
link = n.InnerText;
my_link.Add(link);
MessageBox.Show(link);
}
}
else
MessageBox.Show("no wordfound ");
Meine erwartete Ausgabe sollte gefallen
a
aa
aachhe
aagrashi
aagun
aaj
aam
aanka
aankhi
aar
aashman
abÄddhÅ
abÄddhÅtÄ
abadh
..
..
Aber es hat nicht funktioniert ?? Es zeigt "no word found" bedeutet, dass es null zurückgibt. Wie kann ich in diesem Fall den gesamten Text von <a> erhalten? Kann mir jemand sagen, was in SelectNodes sein soll ("") ???
Sie müssen nach dem <script>
-Tag (nicht <a>
-Tag wie Sie gesagt haben) nach dem nächsten <a>
<font class='search-index-font'>
, innerhalb von <font class='search-index-font'>
. Dieser xpath-Ausdruck wird den Trick machen:
//font[@class='search-index-font']/script/following-sibling::text()[1]
Und dieser Code:
HtmlWeb web = new HtmlWeb();
HtmlAgilityPack.HtmlDocument doc = web.Load("http://search.freefind.com/siteindex.html?id=59478474<r=10240&fwr=0&pid=i&ics=1");
HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes("//font[@class='search-index-font']/script/following-sibling::text()[1]");
gibt die benötigten Textknoten zurück:
a
aa
aachhe
aagrashi
aagun
aaj
aam
aanka
aankhi
aar
...
HtmlWeb web = new HtmlWeb();
HtmlAgilityPack.HtmlDocument doc =
web.Load("http://search.freefind.com/siteindex.html?id=59478474<r=10240&fwr=0&pid=i&ics=1");
HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes("//font[@class='search-index-font']");
string link = string.Empty;
if (nodes != null)
{
foreach (var item in nodes)
{
var value =
item.Elements("script").ToList();
foreach (var items in value)
{
link += items.NextSibling.InnerText+ "\n";
}
}
MessageBox.Show(link);
}
else
MessageBox.Show("no wordfound ");