其中最後的word就是你想要查詢的單字
Code如下,還需要用Delegate
NSLog(@"beginto request webservice!!!!");
NSURL*url=[NSURLURLWithString:[NSStringstringWithFormat: @"http://fy.webxml.com.cn/webservices/EnglishChinese.asmx/Translator?wordkey=%@",ipAddress.text]];
// xmlElements=[[NSMutableArray alloc]init];
NSXMLParser*xml=[[NSXMLParseralloc] initWithContentsOfURL:url];
[xml setShouldProcessNamespaces:NO];
[xml setShouldReportNamespacePrefixes:NO];
[xml setShouldResolveExternalEntities:NO];
[xml setDelegate:self];
[xml parse];
另一種包成方法的方式
//1, 構建解析方法
-(void)parseXMLFile:(NSURL *)XMLURL //XMLURL为第一個文件的URL
{
NSXMLParser *eventParser = [[NSXMLParser alloc] initWithContentsOfURL:XMLURL];
[eventParser setDelegate:self]; //設置代理为本地
[eventParser parse]; //開始解析
NSLog(@"end Of parseXMLFile");
}
//2, 解析開始後,所有XML的內容由NSXMLParserDelegate處理
// 所以一定要注意在本地添加
//第一個代理方法:開始處理xml數據,它會把整個xml遍曆一遍,識別元素節點名稱
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{
if ([elementName isEqualToString:@"p"])
{
[htmlDataString appendFormat:@"<p>"];
needOrNot = YES; //我們需要<p>和</p>
//第二個代理方法:也就是得到文本節點裏存儲的信息數據
第三個代理方法:存儲從第二個代理方法中獲取到的信息
//另外:
//解析開始執行的方法
- (void)parserDidStartDocument:(NSXMLParser *)parser{
//todo something
}
//解析結束執行的方法
- (void)parserDidEndDocument:(NSXMLParser *)parser{
//todo something
}
//當出現解析錯誤的時候,會執行這個方法
- (void)parser:(NSXMLParser *)parser parseErrorOccurred:(NSError *)parseError{
//todo something
}
沒有留言:
張貼留言