Это не полный ответ, но он слишком длинный, чтобы соответствовать комментарию. Далее выбирается URL из приведенного примера (если каждое описание содержит только один img
В противном случае вы можете сделать отдельный шаблон и назовите его рекурсивно, чтобы выбрать все img
с.):
<?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="/description/text()">
<xsl:value-of
select="substring-before(substring-after(., '<img src="'), '"/>')"
disable-output-escaping="yes"/>
</xsl:template>
</xsl:stylesheet>
Я думаю, что есть способ для создания набора узлов из строки (но я не знаю, вы можете провести некоторое исследование на нем), поэтому вы можете сделать набор узлов от <img .../>
и получить значение атрибута src
.
Я думаю, что такой вопрос заслуживает собственного «не анализировать (X) HTML с RegExp» вид ответа ... – 2010-12-07 20:46:15
В вашем примере ввода нет элемента `image` с атрибутом` src`. Секции CDATA - это просто текст без ссылок. Попытайтесь не использовать unparsed данные как анализируемые данные, пожалуйста. – 2010-12-07 20:47:50