【问题标题】:iOS Parse HTML attribute with HppleiOS 使用 Hpple 解析 HTML 属性
【发布时间】:2012-08-24 10:37:09
【问题描述】:

我正在尝试检索 HTML 中输入标记中的属性。我的 NSLog 返回为空。我的语法有什么问题?我正在尝试检索输入标签中“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);

【问题讨论】:

  • 只有content 无?还是element、elements、parser 或data 之一也为零?
  • 只有内容为零。当我把 NSlog 读取元素和元素时,它们在其中具有价值,但也带有很多其他垃圾。
  • 您介意发布这些日志吗?
  • 你想要哪些?每一步之后?
  • 元素是什么样的? [元素属性] 是什么样的?

标签: html ios parsing hpple


【解决方案1】:

我想这可以通过不同的 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-29 12:53:18.435 FireCom[77864:11603] value = btpmzx452x15vqqcmkgzatux。正是我需要的。谢谢。
猜你喜欢
  • 2015-09-27
  • 1970-01-01
  • 1970-01-01
  • 2013-04-15
  • 2015-02-12
  • 2012-11-25
  • 2013-02-17
  • 1970-01-01
  • 2011-02-21
相关资源
最近更新 更多