XPath XML-запрос - PullRequest
       28

XPath XML-запрос

1 голос
/ 25 июля 2011

У меня проблемы с работой с XML-запросом.Ниже приведен документ XML.Все, что мне нужно сделать, это отобразить текст внутри раздела cdata.Я написал этот запрос: /item/title/text(), но он разбился и не работает.

<title>
 <![CDATA[Envious at Envie! 50% off anything you want, anytime you want!]]>
</title>

Я использую библиотеку hpple для iphone xcode.Вот мой код:

    NSData *urlData = [[NSData alloc]initWithContentsOfURL:[NSURL URLWithString:[@"http://www.twangoo.com/userfiles/rss/rss_hong-kong.xml" stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]];

    TFHpple *xpathParser = [[TFHpple alloc] initWithHTMLData:urlData];

    NSArray *title = [xpathParser search:@"//rss/channel/item[1]/title/text()"];

   TFHppleElement *element2 = [title objectAtIndex:0];

    NSString *titleString = [element2 content];

    NSLog(@"@%", titleString)

Возвращает ноль.

Ответы [ 2 ]

0 голосов
/ 25 июля 2011

Если бы вы могли предоставить немного больше информации относительно вашей среды, языка, используемых библиотек и фактического создаваемого сообщения об ошибке, которое очень помогло бы.

Однако я думаю, что допустимый оператор xslt втаблица стилей xsl будет

...

<xsl:value-of select="/item/title"/>

...

Если бы вы программно обращались к этим данным в PHP, это было бы что-то вроде:

$doc = new DOMDocument;
$doc->loadXML("<item><title>My name is Kevin</title></item>");
$xpath = new DOMXPath($doc);
$query = "/item/title";
$entries = $xpath->query($query);
foreach ($entries as $entry) { print $entry->nodeValue; }
0 голосов
/ 25 июля 2011

Используйте этот XPath: /item/title/text()

...