这是我的问题:
我在我的iPad应用程序中使用TBXML.XML服务器响应以xml描述行开头:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
Run Code Online (Sandbox Code Playgroud)
并且TBXML无法解析节点(即nextSibling方法变为null).将XML转换为字符串以删除行不是一个选项,因为我直接使用NSData对象与tbxmlWithXMLData()方法来创建我的TBXML对象.
我该怎么做才能让TBXML理解我的XML?如果没有,有没有办法从NSData中删除该行?
谢谢大家.
在我的iOS应用程序中,我使用TBXML进行xml处理,它没有正式更新,但它仍然适合我.
我正在尝试为iOS 8创建Today扩展,当我将TBXML添加为编译源时,我得到以下内容:
TBXML.h

在添加扩展之前,我没有TBXML的任何构建问题.
有关如何解决此问题的任何想法?
谢谢
我正在使用TBXML + HTTP从网站获取XML数据.我想要做的是用处理过的数据填充UITableView.我已经创建了一个包含所有条目的NSMutableArray,并且就此而言,一切正常.问题是,在成功从服务器获取数据并将其存储在数组中之后,我尝试使用更新表来显示数据reloadData.
用20行填充表大约需要5秒钟.奇怪的是,提取发生得非常快,因此数据可以立即获得.我不明白花了这么长时间.以下是日志中的一些信息:
2012-03-17 18:46:01.045 MakeMyApp[4571:207] numberOfSectionsInTableView: 1
2012-03-17 18:46:01.047 MakeMyApp[4571:207] numberOfRowsInSection: 0
2012-03-17 18:46:01.244 MakeMyApp[4571:1f03] numberOfSectionsInTableView: 1
2012-03-17 18:46:01.245 MakeMyApp[4571:1f03] numberOfRowsInSection: 20
2012-03-17 18:46:01.245 MakeMyApp[4571:1f03] Ok, I'm done. 20 objects in the array.
2012-03-17 18:46:01.246 MakeMyApp[4571:1f03] Finished XML processing.
2012-03-17 18:46:06.197 MakeMyApp[4571:1f03] cellForRowAtIndexPath:
Run Code Online (Sandbox Code Playgroud)
正如你所看到的那样,它会触发两次numberOfSectionsInTableView:/ numberOfRowsInSection:两次:第一次是视图加载时,第二种是当我加载时[self.tableView reloadData];
您可以看到,在不到一秒的时间内,数组将填充20个对象,并完成处理XML的所有工作.怎么在cellForRowAtIndexPath:5秒后被解雇?
以下是可能有助于发现问题的代码的一些部分:
- (void)createRequestFromXMLElement:(TBXMLElement *)element {
// Let's extract all the information of the request
int requestId = [[TBXML valueOfAttributeNamed:@"i" forElement:element] intValue];
TBXMLElement *descriptionElement …Run Code Online (Sandbox Code Playgroud) 该指南告诉我有四个文件,TBXML.h,TBXML.m,NSDataAdditions.h,和NSDataAdditions.m,但后两者都无处可寻GitHub的回购.
我试图运行示例项目TBXML-Books,希望复制TBXML如何导入项目,但它也不能在Xcode 5中成功构建.它找不到libTBXML-iOS.a.
有人帮忙吗?提前致谢.
我正在编写一个 iOS 应用程序,其中有一个模型类,它将使用我提供给它的 XMLElement 来初始化自身。
我使用 TBXML 作为 XML 部分。
模型类的标头如下所示:
@interface CatalogItem : NSManagedObject
@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) NSManagedObject *group;
-(id)initWithXMLElement:(TBXMLElement*)element;
@end
Run Code Online (Sandbox Code Playgroud)
现在,我不想包含定义 TBXMLElement 的标头,而是struct TBXMLElement在类定义之前使用: 转发声明它。然而,我收到“预期类型”错误,告诉我我的声明不起作用。这不是我会得到的结果吗?
据我了解,在头文件中包含头文件是不好的做法。编译器不需要知道 的内部工作原理TBXMLElement,只需知道它在编译时存在或将存在即可。
我正在使用TBXML解析器,但遇到了一些困难.
我使用以下代码将产品对象中的数据添加到名为laarzen的MutableArray中.
- (void)loadURL {
// Load and parse an xml string
Products *product = [[Products alloc] init];
tbxml = [[TBXML alloc] initWithURL:[NSURL URLWithString:@"url..."]];
// If TBXML found a root node, process element and iterate all children
// Obtain root element
TBXMLElement * root = tbxml.rootXMLElement;
// if root element is valid
if (root) {
// search for the first category element within the root element's children
TBXMLElement * Category = [TBXML childElementNamed:@"Category" parentElement:root];
Products *product = [[Products alloc] init]; …Run Code Online (Sandbox Code Playgroud) tbxml ×6
ios ×5
objective-c ×4
iphone ×2
xml ×2
ios8 ×1
ipad ×1
reloaddata ×1
sdk ×1
uitableview ×1
xcode ×1