【问题标题】:Parse <tr> block into UITableCell将 <tr> 块解析为 UITableCell
【发布时间】:2015-12-31 07:09:14
【问题描述】:

我正在使用Hpplewebsite 的HTML 解析到我的应用程序中。解析效果很好,但是 tr 块中的所有内容都不是在一个单元格中,而是 tr 块中的每个 td 元素都是它们自己的表格单元格。这就是我的意思。 TR 块:

<tr>
                    <td>2</td>
                    <td>down 1</td>
                    <td>1</td>
                    <td>5</td>
                    <td>Justin Bieber</td>
                    <td>What Do You Mean?</td>
                </tr>

它在应用中的样子:

当我希望它看起来像这样时:

我用于解析的代码如下所示:

 - (void)loadSongs {
// 1
NSURL *tutorialsUrl = [NSURL URLWithString:@"http://www.bbc.co.uk/radio1/chart/singles/print"];
NSData *tutorialsHtmlData = [NSData dataWithContentsOfURL:tutorialsUrl];

// 2
TFHpple *tutorialsParser = [TFHpple hppleWithHTMLData:tutorialsHtmlData];

// 3
NSString *tutorialsXpathQueryString = @"//tr/td";
NSArray *tutorialsNodes = [tutorialsParser searchWithXPathQuery:tutorialsXpathQueryString];

// 4
NSMutableArray *newTutorials = [[NSMutableArray alloc] initWithCapacity:0];
for (TFHppleElement *element in tutorialsNodes) {
    // 5
    Tutorial *tutorial = [[Tutorial alloc] init];
    [newTutorials addObject:tutorial];

    // 6
    tutorial.title = [[element firstChild] content];
   tutorial.peakPosition = ???;


}

// 8
_objects = newTutorials;
[self.tableView reloadData];
}

【问题讨论】:

    标签: html ios xcode hpple


    【解决方案1】:

    试试NSString *tutorialsXpathQueryString = @"//tr[contains(td, *)]";

    更多功能请看这里:w3schools

    website 用于测试您的 xpath 语法

    希望对你有帮助:)

    更新:

    你得到 nil 的原因是你没有从你的 url 而不是 XPath 中获取 html 数据。

    而你无法获取数据的原因是因为APP传输安全。

    请查看此链接:How do I load an HTTP URL with App Transport Security enabled in iOS 9?

    将以下内容添加到您的 plist 文件中。

    <key>NSAppTransportSecurity</key>
    <dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
    </dict>
    

    它应该可以工作:)

    【讨论】:

    • @HalesEnchanted 嘿,试试我更新的方法。它应该工作。如果您有任何问题,请保持更新。
    • 嘿@wei,感谢您的支持。我已经禁用了 App Transport :( 仍然没有 :(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 2017-09-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-30
    相关资源
    最近更新 更多