cocoa の 2 つの特定のテキスト文字列を HTML ドキュメントから検索する必要があります。Web ページで NSXMLDocument を作成しています: Page Example 次に、アプリのタイトルとアイコンの URL を検索しようとしています。現在、このコードを使用して特定の文字列を検索しています。
NSString *xpathQueryStringTitle = @"//div[@id='desktopContentBlockId']/div[@id='content']/div[@class='padder']/div[@id='title' @class='intro has-gcbadge']/h1";
NSString *xpathQueryStringIcon = @"//div[@id='desktopContentBlockId']/div[@id='content']/div[@class='padder']/div[@id='left-stack']/div[@class='lockup product application']/a";
NSArray *titleItemsNodes = [document nodesForXPath:xpathQueryStringTitle error:&error];
if (error)
{
[[NSAlert alertWithError:error] runModal];
return;
}
error = nil;
NSArray *iconItemsNodes = [document nodesForXPath:xpathQueryStringIcon error:&error];
if (error)
{
[[NSAlert alertWithError:error] runModal];
return;
}
これらの文字列を検索しようとすると、次のエラーが表示されます: "XQueryError:3 - "無効なトークン (@) - ./*/div[@id='desktopContentBlockId']/div[@id='content']/div [@class='padder']/div[@id='title' @class='intro has-gcbadge']/h1" at line:1"
私は大まかにこのチュートリアルに従っています。
また、xPath のすべての @ 記号なしでこれを試してみましたが、エラーも返されます。xPath の構文が明らかに間違っています。このパスの基本的な構文は何でしょうか。基本的な XML ツリーの例をたくさん見てきましたが、html はそうではありませんでした。