我有一个基于IB(Xcode 4)的GUI。
它具有连接到NSTextField的静态文本字段。从XML文件中读取信息后,应该将文本更改为XML中的内容
.h如下:
IBOutlet NSTextField * DataBaseLocation;
.m
NSMutableArray* DBLoc = [[NSMutableArray alloc] initWithCapacity:1];
NSXMLElement* root = [doc rootElement];
NSArray* DBarray = [root nodesForXPath:@"//DataBaseLocation" error:nil];
for(NSXMLElement* xmlElement in DBarray)
[DBLoc addObject:[xmlElement stringValue]];
NSString * DBLocationString = [DBLoc objectAtIndex:0];
[DataBaseLocation setStringValue:DBLocationString];
NSLog(@"DBLoc: %@", DBLoc);
NSLog
表示DBLoc
具有正确的字符串,但“文本字段”为空且从未设置。是的,我检查了IB中的连接。
有任何想法吗?谢谢!
最佳答案
找到了答案。
我需要用NSXMLDocument
初始化NSXMLDocumentTidyXML
:
NSXMLDocument* doc = [[NSXMLDocument alloc] initWithContentsOfURL: [NSURL fileURLWithPath:input] options:NSXMLDocumentTidyXML error:NULL];