浅谈iOS解析HTMl标签以及开发中的一些坑

2020-01-21 03:03:52刘景俊


<title>关于APP的声明</title>

</head>
<body>
<h3>关于APP的声明</h3>

<p>只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试</p>

<p>只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试</p>

<h3>联系我们</h3>

<p>若您在使用该APP有遇到任何问题或有新想法,都可以联系我们. 如下是我们的联系方式:</p>

<ul>
<li>只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试</li>
<li>E-mail: xxxxxxxxxxxxxxxxxxxxxxxxxx</li>
<li>phone: xxxxxxxxxxxxxxxxxx</li>
</ul>


<h3>感谢</h3>

<p>首先,感谢广大用户对公司的支持和鼓励,谢谢你们对我们的一路支持.</p>

<p>只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试</p>

<h3>版权声明</h3>

<p>只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试只是测试</p>
</body>
</html>

这里如果我要针对性取某一个标签的内容就要用到我们今天介绍的库了。

环境的配置

导入静态库

 

 
ios,解析html标签内容,解析html标签

 

然后把导入的静态库添加到文件的路径

 

 
ios,解析html标签内容,解析html标签

 

然后导入TFHpple库就可以了。

使用方法1,简单的标签形式取值法

直接上代码


NSString *resourcePath = [[NSBundle mainBundle] resourcePath];
    NSString *filePath =[resourcePath stringByAppendingPathComponent:@"about.html"];
    NSData *data =[[NSData alloc]initWithContentsOfFile:filePath];
    NSString *result = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];  //data转字符串 为了打印不是乱码
    NSLog(@"------%@",result);
  
    TFHpple *Hpple = [[TFHpple alloc]initWithHTMLData:data];
  
    //测试1:获取简单的标题
    NSArray *array =[Hpple searchWithXPathQuery:@"//title"]; //获取到为title的标题
  
    for (TFHppleElement *HppleElement in array) {
  
      NSLog(@"测试1的目的标签内容:-- %@",HppleElement.text);
      
    }