Вы можете использовать XPath для помощи:
var snapshot = document.evaluate('//ul/li/a[1]/@title', document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
Это создает снимок всех узлов в документе, который соответствует запросу XPath. Вышеупомянутый XPath запрашивает атрибут title
первого элемента ссылки, который является дочерним для <li>
, который является дочерним для <ul>
.
После получения снимка вы можете выполнить итерацию по нему и получить имена:
for (var i = 0; i < snapshot.snapshotLength; i ++) console.log(snapshot.snapshotItem(i).nodeValue);
(код выше можно запустить в консоли веб-инспектора chrome.)
Вы также можете сделать то же самое в PHP, просто загрузите документ в DOMDocument:
$doc = new DOMDocument;
$doc->loadHTML(file_get_contents('http://en.wikipedia.org/wiki/List_of_styles_of_music:_A-F'));
И использовать XPath для запроса:
$xp = new DOMXPath($doc);
foreach ($xp->query('//ul/li/a[1]/@title') as $node) {
echo "$node->nodeValue\n";
}