.net web serverからxmlの形式で情報を取得しています。iphoneでlibxml2を使ってxmlを解析する方法
私はそれを解析するためにNSXmlパーサを使用しています。
ただし、解析に時間がかかります。
libxmll2はNSXmlパーサーよりも高速です。
しかし、私はそれを使用する方法に関する明確な情報は見つかりませんでした。
サンプルコードまたはlibxml2を使用して解析する方法に関するサンプルを投稿することができます。
ありがとうございます。
.net web serverからxmlの形式で情報を取得しています。iphoneでlibxml2を使ってxmlを解析する方法
私はそれを解析するためにNSXmlパーサを使用しています。
ただし、解析に時間がかかります。
libxmll2はNSXmlパーサーよりも高速です。
しかし、私はそれを使用する方法に関する明確な情報は見つかりませんでした。
サンプルコードまたはlibxml2を使用して解析する方法に関するサンプルを投稿することができます。
ありがとうございます。
これを実装するにはXML解析を使用する必要があります。私はtouchXMLを使用することをお勧めします。
-(void)callwebservice{
NSString *path = @"YOUR URL";
[self grabRSSFeed:path];
}
-(void) grabRSSFeed:(NSString *)blogAddress {
// Initialize the blogEntries MutableArray that we declared in the header
blogEntries = [[NSMutableArray alloc] init];
// Convert the supplied URL string into a usable URL object
NSURL *url = [NSURL URLWithString: blogAddress];
// Create a new rssParser object based on the TouchXML "CXMLDocument" class, this is the object that actually grabs and processes the RSS data
CXMLDocument *rssParser = [[[CXMLDocument alloc] initWithContentsOfURL:url options:0 error:nil] autorelease];
// Create a new Array object to be used with the looping of the results from the rssParser
NSArray *resultNodes = NULL;
// Set the resultNodes Array to contain an object for every instance of an node in our RSS feed
resultNodes = [rssParser nodesForXPath:@"//Node you want to parse" error:nil];
// Loop through the resultNodes to access each items actual data
for (CXMLElement *resultElement in resultNodes) {
// Create a temporary MutableDictionary to store the items fields in, which will eventually end up in blogEntries
NSMutableDictionary *blogItem = [[NSMutableDictionary alloc] init];
// Create a counter variable as type "int"
int counter;
// Loop through the children of the current node
for(counter = 0; counter < [resultElement childCount]; counter++) {
// Add each field to the blogItem Dictionary with the node name as key and node value as the value
[blogItem setObject:[[resultElement childAtIndex:counter] stringValue] forKey:[[resultElement childAtIndex:counter] name]];
NSLog(@"Data = %@",[[resultElement childAtIndex:counter] stringValue]);
}
// Add the blogItem to the global blogEntries Array so that the view can access it.
[blogEntries addObject:[blogItem copy]];
}
[YourTable reloadData];
}
あなたのヘッダーファイルにtouchXMLライブラリをインポートします。
TouchXMLをご覧ください。
libxml2を使用しているため、libxml2よりも簡単に使用できます。これはplainで書かれています。
私はこのURLにそれを与える方法を渡すためにsoap actionとxml stringを使う必要があります – MaheshBabu
あなたはサーバーからデータを解析するurlを生成する必要があります。 – Aditya