使用Objective C的Xpath查询问题

时间:2011-08-06 07:05:40

标签: objective-c xpath

我想使用Objective-C从此HTML文件中提取链接。

<html>
 <head>
  <base href='http://example.com/' />
  <title>Example website</title>
 </head>
 <body>
  <div id='images'>
   <a href='image1.html'>Name: My image 1 <br /><img src='image1_thumb.jpg' /></a>
   <a href='image2.html'>Name: My image 2 <br /><img src='image2_thumb.jpg' /></a>
   <a href='image3.html'>Name: My image 3 <br /><img src='image3_thumb.jpg' /></a>
   <a href='image4.html'>Name: My image 4 <br /><img src='image4_thumb.jpg' /></a>
   <a href='image5.html'>Name: My image 5 <br /><img src='image5_thumb.jpg' /></a>
  </div>
 </body>
</html>

HEre是Xpath查询:

//a[contains(@href, "image")]/@href

但这里的问题是它在查询中的图像文本周围的引号上出错!

Error

2 个答案:

答案 0 :(得分:2)

你必须转义双引号才能在带引号的字符串中使用它们:

@"//a[contains(@href,\"image\")]/@href"

或者使用单引号,如果XPath支持:

@"//a[contains(@href,'image')]/@href"

答案 1 :(得分:1)

由于XPath表达式由双引​​号字符分隔,因此您不能在其中使用这些字符。你必须转而使用单引号:

//a[contains(@href, 'image')]/@href