Betrachten Sie den folgenden HTML-Code wie in Datei example.html
ein bestimmtes Element Setzen Sie sich mit xmllint
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<body>
<div class="container">
<h1>
<a href="/">
<img src="/images/image.png"/>
</a>
</h1>
<ul>
<li><a href="/" >link1<br /><span>content</span></a></li>
<li><a href="/folder" >link2<br /><span>more contend</span></a></li>
</ul>
</div><!-- .container -->
<div class="container">
<ul class="disc">
<li><strong>no interest 1</strong></li>
<li><strong>no interest 2</strong></li>
<li><strong>no interest 3</strong></li>
<li>keyword1: <strong>unkown_content</strong></li>
<li>keyword2: <strong>unkown_content</strong></li>
</ul>
</div><!-- .container -->
<div class="container">
<ul class="disc">
<li><a href="/folder1">not interested</a></li>
<li><a href="/folder2">not interested</a></li>
<li><a href="/folder3">not interested</a></li>
<li>keyword1: <strong>unkown_content</strong></li>
<li>keyword2: <strong>unkown_content</strong></li>
</ul>
</div><!-- .container -->
</body>
</html>
Ich mag würde die unkown_content
nach dem zweiten keyword1
erhalten. Ich habe versucht,
xmllint --html --xpath "//li[text()='keyword1: ']" example.html 2>/dev/null
<li>keyword1: <strong>unkown_content</strong></li><li>keyword1: <strong>unkown_content</strong></li>
Wie Sie dies zurück beide Knoten mit keyword1
sehen können. Wie bekomme ich den Inhalt des letzten Vorkommens?
Ich habe das erste versucht und es hat nicht funktioniert. Die zweite, mit den Zahnspangen, hat es geschafft. Mein letzter Befehl ist 'xmllint --html --xpath '(// li [text() =' schlüsselwort1: ']) [last()]/strong/text()" '. Dies bringt den Inhalt, den ich brauche. Vielen Dank. – nautical