2012-08-29 76 views
0

我試圖在HTML中檢索輸入標記中的屬性。我的NSLog返回null。我的語法有什麼問題?我正試圖在輸入標籤中檢索「value =」的值。iOS使用Hpple解析HTML屬性

繼承人的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); 
+0

只有'content' nil?或者是'element','elements','parser'或'data' nil也是? –

+0

只有內容是零。當我把NSlog閱讀元素和元素時,他們在那裏有價值,但也有很多其他的垃圾。 –

+0

你介意發佈這些日誌嗎? –

回答

3

我想這可能是解決了不同XPath查詢和屬性的檢查,事情也許像更好:

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

從你的文章和你的日誌,我認爲這可能沒有工作ging查詢:

TFHppleElement *element = [elements objectAtIndex:0]; 
TFHppleElement *child = [element.children objectAtIndex:0]; 
NSString *idValue = [child content]; 
+0

真棒,底部工作完美。它返回:2012-08-29 12:53:18.435 FireCom [77864:11603] value = btpmzx452x15vqqcmkgzatux。正是我需要的。謝謝。 –

+0

很高興工作! –