0

HTMLの入力タグの属性を取得しようとしています。NSLogがnullに戻ってきました。私の構文の何が問題になっていますか?inputタグの「value=」の値を取得しようとしています。

これが私が解析しているHTMLです:

<input name="hidXMLID" type="hidden" id="hidXMLID" value="0311sg55dbmnk0nsuzoflnij" />

パーサー構文は次のとおりです。

NSURL *theURL = [NSURL URLWithString:@"http://www.wccca.com/PITS/"];
NSData *data = [[NSData alloc] initWithContentsOfURL:theURL];
xpathParser = [[TFHpple alloc] initWithHTMLData:data];
NSArray *elements = [xpathParser searchWithXPathQuery:@"//input[@id='hidXMLID']//@value"];
TFHppleElement *element = [elements objectAtIndex:0];
NSString *content = [element content];

NSLog(@"ID = %@",content);
4

1 に答える 1

3

これは、さまざまなXPathクエリと属性の検査を使用することで、より適切に解決できると思います。

NSArray *elements = [xpathParser searchWithXPathQuery:@"//input[@id='hidXMLID']"];
TFHppleElement *element = [elements objectAtIndex:0];
NSDictionary *attributes = [element attributes];
NSString *idValue = [attributes objectForKey:@"id"];

あなたの投稿とログから、これはクエリを変更しなくても機能する可能性があると思います。

TFHppleElement *element = [elements objectAtIndex:0];
TFHppleElement *child = [element.children objectAtIndex:0];
NSString *idValue = [child content];
于 2012-08-29T19:40:36.157 に答える