Я работаю над проектом, который использует XSLT для преобразования строки HTML для извлечения некоторых конкретных значений. Можете ли вы взглянуть на HTML / XSLT ниже и посмотреть, что я делаю неправильно?
Кстати, в приведенном ниже HTML-коде мне нужно извлечь значение из <a>
, которое говорит "что-то" (XPATH = // div [@ id = 'result'] / div [2] / div [1] / a [1 ]):
<html>
<head></head>
<body>
<div>
<div id="whatever">
<!--other stuff-->
</div>
<div id="whatever2">
<!--other stuff-->
<div>
<div class='listtable'>
<div>
<div id="result">
<div class="ignore">
<!--other stuff-->
</div>
<div>
<div>
<a>something</a>
</div>
</div>
</div>
</div>
<div>
<div id="result">
<div class="ignore">
<!--other stuff-->
</div>
<div>
<div>
<a>something</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
Итак, XSLT, который я придумал, выглядит так, но не работает ...
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>My Link Collection</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Title</th>
</tr>
<xsl:for-each select="//div[@id='result']">
<tr>
<td><xsl:value-of select="/div[2]/div[1]/a[1]"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
P.S .: Я раньше работал с XPATHS, но у меня нет опыта работы с XSLT, и по какой-то причине происходит сбой Visual Studio при попытке отладки, поэтому я понятия не имею, что здесь пошло не так.
Спасибо за вашу помощь!