Objective-C
Objective-C
Demonstrate XML SearchForTag2
Demonstrates how to use SearchForTag2.Chilkat Objective-C Downloads
#import <CkoXml.h>
#import <CkoStringBuilder.h>
BOOL success = NO;
CkoXml *xml = [[CkoXml alloc] init];
// Load the following XML:
// <Test>
// <testchild1>
// test
// </testchild1>
// <testchild1>
// test1
// </testchild1>
// <testchild1>
// test2
// </testchild1>
// <testchild1>
// test3
// </testchild1>
// <testchild1>
// test4
// </testchild1>
// <testchild1>
// test5
// </testchild1>
// <testchild1>
// test6
// </testchild1>
// </Test>
success = [xml LoadXml: @"<Test><testchild1>test</testchild1><testchild1>test1</testchild1><testchild1>test2</testchild1><testchild1>test3</testchild1><testchild1>test4</testchild1><testchild1>test5</testchild1><testchild1>test6</testchild1></Test>"];
int i = 0;
CkoXml *xmlSearch = [xml GetRoot];
CkoXml *afterPtr = [xml GetRoot];
CkoXml *pTemp = 0;
// Alway begin the search from the root.
while ([xmlSearch SearchForTag2: afterPtr tag: @"testchild1"]) {
// If successful, xmlSearch now points to the found element.
i = i + 1;
// Set afterPtr = xmlSearch (so we find the next match after the one we just found)
// Rest xmlSearch to the root of the XML tree to be searched.
NSLog(@"%d%@%@",i,@": ",xmlSearch.Content);
pTemp = afterPtr;
afterPtr = xmlSearch;
[pTemp GetRoot2];
xmlSearch = pTemp;
}
NSLog(@"%@",@"----");
// A better way:
CkoStringBuilder *sbState = [[CkoStringBuilder alloc] init];
i = 0;
while ([xml NextInTraversal2: sbState] != NO) {
if ([xml TagEquals: @"testchild1"] == YES) {
NSLog(@"%d%@%@",i,@": ",xml.Content);
i = i + 1;
}
}
[xml GetRoot2];