이것은 내 샘플 페이지입니다. 나는 하나의 문자열에 태그의 모든 내부 텍스트를 가져오고 싶다. 나는 그렇게이 코드를 사용하지만 제대로 작동하지 않습니다 그 코드를 작성하지만 내가 하나의 문자열로 모든 태그의 내부 텍스트를 얻으려면여러 <a> 태그의 Innertexts를 얻는 방법?
<body>
<div id="infor">
<div id="genres">
<a href="#" >Animation</a>
<a href="#" >Short</a>
<a href="#" >Action</a>
</div>
</div>
</body>
제대로 작동하지 않습니다.
Animation, Animation, Animation,
하지만이 같은 출력이 원하는 : (반환 값)
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;
}
텍스트 1은 문제가 header.ParentNode.SelectSingleNode(".//a[contains(@href, '#')]")
문처럼
Animation, Short, Action,
은 실제로 'InnerText'를 (를) 가져 오려는 노드가 아닌 'header'입니다. 장르 선택 코드는 마치 매번 분명히 똑같은 형제 자매를 얻는다고 말하는 것처럼 보입니다 ... 그 코드로 무엇을하려고합니까? – Chris