2010-12-07 3 views
0

У меня есть базовая RSS-лента, но у меня есть изображения в описании. Есть ли способ выбрать img src с XSLT?Выбор изображения Src Из XML

<description> 
<![CDATA[ 
<img src="http://www.sitename.com/news/wp-content/uploads/2010/12/MyImage31-150x150.jpg"/> 
Content is here. 
]]> 
</description> 
+0

Я думаю, что такой вопрос заслуживает собственного «не анализировать (X) HTML с RegExp» вид ответа ... – 2010-12-07 20:46:15

+0

В вашем примере ввода нет элемента `image` с атрибутом` src`. Секции CDATA - это просто текст без ссылок. Попытайтесь не использовать unparsed данные как анализируемые данные, пожалуйста. – 2010-12-07 20:47:50

ответ

0

Это не полный ответ, но он слишком длинный, чтобы соответствовать комментарию. Далее выбирается 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(., '&lt;img src=&quot;'), '&quot;/>')" 
      disable-output-escaping="yes"/> 
    </xsl:template> 
</xsl:stylesheet> 

Я думаю, что есть способ для создания набора узлов из строки (но я не знаю, вы можете провести некоторое исследование на нем), поэтому вы можете сделать набор узлов от <img .../> и получить значение атрибута src.

Смежные вопросы