這是我的示例頁面。我想將標籤的所有內部文本都放到一個字符串中。我寫的代碼,這個,但它不能正常工作如何獲得多個<a>標記的內聯網?
<body>
<div id="infor">
<div id="genres">
<a href="#" >Animation</a>
<a href="#" >Short</a>
<a href="#" >Action</a>
</div>
</div>
</body>
我想要得到的所有標籤內的文字,將一個字符串,我用這個代碼,要做到這一點,但它不能正常工作。
class Values
{
private HtmlAgilityPack.HtmlDocument _markup;
HtmlWeb web = new HtmlWeb(); //creating object of HtmlWeb
form1 frm = new form1;
_markup = web.Load("mypage.html"); // load page
public string Genres
{
get
{
HtmlNodeCollection headers = _markup.DocumentNode.SelectNodes("//div[contains(@id, 'infor')]/a"); // I filter all of <a> tags in <div id="infor">
if (headers != null)
{
string genres = "";
foreach (HtmlNode header in headers) // I'm not sure what happens here.
{
HtmlNode genre = header.ParentNode.SelectSingleNode(".//a[contains(@href, '#')]"); //I think an error occurred in here...
if (genre != null)
{
genres += genre.InnerText + ", ";
}
}
return genres;
}
return String.Empty;
}
}
frm.text1.text=Genres;
}
的text1(返回值)是:
Animation, Animation, Animation,
但我想這樣的輸出:
Animation, Short, Action,
是'header'而不是你實際上想要獲得'InnerText'的節點?這個流派選擇代碼看起來像是說每次都得到第一個兄弟姐妹,這個兄弟姐妹顯然是一樣的......你想用這些代碼做什麼? – Chris