Выберите ссылку внутри тега div

Я хотел бы получить ссылку (точнее, URL) внутри класса div. Это код, который у меня есть, который получает текст внутри класса div (Some text...).

foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//div[@class='content']"))
{
    //saves text (node.InnerText) in array          
}

Это HTML-код с сайта. Я хочу получить www.google.com

<div class="content">
    <p>Some text... 
    <a href="www.google.com">LINK</a> 
    </p>
</div>

person fanboy555    schedule 31.12.2012    source источник
comment
Вы можете найти свой ответ по ссылке ниже: stackoverflow.com/questions/12087367/   -  person user1939593    schedule 31.12.2012
comment
@user1939593 user1939593 Регулярное выражение для этого не является хорошим решением.   -  person Rudi Visser    schedule 31.12.2012


Ответы (2)


Этот код недействителен на основании вашего письма, однако у вас есть 2 варианта:

  1. Когда у вас есть узел для div, используйте .GetElementsByTagName("a") или дочерние элементы, чтобы вытащить ссылку, а затем получить ее атрибут href.

  2. Измените свой SelectNodes() XPath, чтобы вместо него использовался тег a: //div[@class='novica']/p/a.

Первый, очевидно, лучше, если вам действительно нужно .InnerText этого элемента, чтобы получить Some text..., однако второй будет быстрее.

person Rudi Visser    schedule 31.12.2012

person    schedule
comment
запрос xpath: //div[@class='novica']/p/a[@href='www.google.com'] - person Paul Sullivan; 31.12.2012