Sed извлекают данные из таблицы HTML

С sed я могу извлечь данные из файла HTML? Например, как это:

<html>
...
<table>
<tr>
 <td>R1A</td><td>R1B</td>
 <td>R1C</td><td>R1D</td>
</tr>
<tr>
 <td>R2X</td><td>R2Y</td>
 <td>R2W</td><td>R2Z</td>
</tr>
</table>
....
</html>

Извлеките этот вывод:

R1A R1B R1C R1D
R2X R2Y R2W R2Z

В моем текстовом редакторе я использую следующее регулярное выражение:

/<tr>.*?<td>(.*?)</td>.*?<td>(.*?)</td>.*?<td>(.*?)</td>.*?<td>(.*?)</td>.*?</tr>/s
0
задан 07.03.2010, 18:41

1 ответ

Не sed решение, а XSLT один

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<xsl:output method="text" />

  <xsl:template match="//table/tr">
     <xsl:value-of select="descendant::td[1]"/>
     <xsl:text>  </xsl:text>
     <xsl:value-of select="descendant::td[2]"/>
     <xsl:text>  </xsl:text>
     <xsl:value-of select="descendant::td[3]"/>
     <xsl:text>  </xsl:text>
     <xsl:value-of select="descendant::td[4]"/>
  </xsl:template>

</xsl:stylesheet>
1
ответ дан 24.11.2019, 12:36

Теги

Похожие вопросы