I am attempting to retrieve table rows from the following xml snippet. The path leading up to the snippet is //html/body/div/div/div
. I need to select the table data rows where the /table/tr/th/a@title='Music genre'
I can select the tr row as:
xmlstarlet sel -t -v "//html/body/div/div/div/table/tr/th/a[@title='Music genre']" Unwritten_Law
I can select the data rows as:
xmlstarlet sel -t -v "//html/body/div/div/div/table/tr/td/a" Unwritten_Law
What I need to do is select only the data rows where the tr row is Music genre
<table class="infobox vcard plainlist" style="border-spacing:3px;width:22em">
<tr>
<th colspan="2" style="text-align:center;font-size:125%;font-weight:bold;background-color: #b0c4de"><span class="fn org">Unwritten Law</span></th>
</tr>
<tr>
<th scope="row" style="text-align:left">Origin</th>
<td><a href="/wiki/San_Diego,_California" title="San Diego, California" class="mw-redirect">San Diego, California</a>, U.S.</td>
</tr>
<tr>
<th scope="row" style="text-align:left"><a href="/wiki/Music_genre" title="Music genre">Genres</a></th>
<td><a href="/wiki/Pop_punk" title="Pop punk">Pop punk</a>, <a href="/wiki/Punk_rock" title="Punk rock">Punk rock</a>, <a href="/wiki/Skate_punk" title="Skate punk">Skate punk</a>, <a href="/wiki/Post_grunge" title="Post grunge" class="mw-redirect">Post grunge</a>, <a href="/wiki/Alternative_rock" title="Alternative rock">Alternative rock</a>, <a href="/wiki/Melodic_hardcore" title="Melodic hardcore">Melodic hardcore</a></td>
</tr>
<tr>
<th scope="row" style="text-align:left">Years active</th>
<td>1990–present</td>
</tr>
</table>
Given the snippet in the question:
outputs
Add
/html/body/div/div/div
as needed.