XPATH在标签中编码HTML

时间:2012-08-03 19:04:27

标签: parsing xpath

`

<item>
<title>Lorem ipsum dolor sit ame</title> 
   `    `      
<description>
&amp;#13;
&amp;#13;
&amp;#13;&lt;div class=&quot;videoInStoryC&quot;&gt;&amp;#13;
&lt;div id=&quot;emp-19102206-25558&quot; class=&quot;emp&quot;&gt;&amp;#13;
&lt;div class=&quot;warning&quot;&gt;&lt;img class=&quot;holding&quot; src=&quot;http://bac.com/asfg.jpg&quot; alt=&quot;ipsim dlor&quot; /&gt;&amp;#13;
&lt;/div&gt;&amp;#13;  &lt;/div&gt;&amp;#13;
&amp;#13;
&lt;p class=&quot;caption&quot;&gt;ipfi fks: &quot;Lorem ipsum dolor sit amel&quot;&lt;/p&gt;&amp;#13;
&lt;/div&gt;&amp;#13;
&amp;#13;
</description>  
</item>

`

我有一个RSS源,标签中带有编码的HTML。我想在编码的HTML的IMG标记中提取URL源。 在这种情况下,URl是http://bac.com/asfg.jpg。 我使用img / @src但没有成功,我假设因为编码的Html。 谢谢

1 个答案:

答案 0 :(得分:0)

您可以使用

parse-xml(replace(/item/description, "&#13;", ""))//img/@src 

如果你有一个XPath 3.0解释器(但你没有)

您可以使用类似

的内容
filter(/item/description, 'src="([^"]*)"', 1)

如果你的解释器有类似过滤器函数的东西来将正则表达式应用于字符串。 (但它没有)

您可以使用

 replace(replace(/item/description, '.*src="', '', 's'), '".*', '', 's')

如果您有XPath 2.0解释器并且文本中只有一个图像