我有这个HTML,
<div class="header1" style="text-align: center;">
<div class="s">
<center>
<table>
<tr>
<td>
<ul style="position: relative;">
<li>
<a>
<p>
Apple Kid
</p>
我希望使用Swift将“Apple kid”这个词作为输出。
我为此使用了TFHpple框架,但在添加所有必要的东西之后它显示错误。就像在Objective-C文件中一样
the XPathQuery.h
//
// XPathQuery.h
// FuelFinder
//
// Created by Matt Gallagher on 4/08/08.
// Copyright 2008 __MyCompanyName__. All rights reserved.
//
NSArray *PerformHTMLXPathQuery(NSData *document, NSString *query);
NSArray *PerformHTMLXPathQueryWithEncoding(NSData *document, NSString *query,NSString *encoding);
NSArray *PerformXMLXPathQuery(NSData *document, NSString *query);
NSArray *PerformXMLXPathQueryWithEncoding(NSData *document, NSString *query,NSString *encoding);
在这些函数中显示有关未知类型的错误。
XpathQuery.m
//
// XPathQuery.m
// FuelFinder
//
// Created by Matt Gallagher on 4/08/08.
// Copyright 2008 __MyCompanyName__. All rights reserved.
//
#import "XPathQuery.h"
#import <libxml/tree.h>
#import <libxml/parser.h>
#import <libxml/HTMLparser.h>
#import <libxml/xpath.h>
#import <libxml/xpathInternals.h>
NSDictionary *DictionaryForNode(xmlNodePtr currentNode, NSMutableDictionary *parentResult,BOOL parentContent);
NSArray *PerformXPathQuery(xmlDocPtr doc, NSString *query);
答案 0 :(得分:0)
你应该分享你收到的确切错误,但我使用Swift的TFHpple没有任何问题。与Objective-C一样,你必须
确保您在构建阶段链接到libxml
库
将$(SDKROOT)/usr/include/libxml2
添加到构建设置
请参阅Wenderlich How To Parse HTML on iOS或Cocoa with Love Using libxml2 for XML parsing and XPath queries in Cocoa的安装说明。
将TFHpple源添加到项目时,系统会提示您创建桥接标头。这样做,然后将#import "TFHpple"
添加到其中。有关更多信息,请参阅使用Swift with Cocoa和Objective-C 指南的Swift and Objective-C in the Same Project章节中的将Objective-C导入Swift 部分。
一旦你这样做,你应该能够使用TFHpple而不会发生Swift事件。