2011-06-03 71 views
1

我試圖解析我使用教程Soap Tutorial解析使用SOAP的Web服務的XML

從Web服務接收XML文件..

我收到初始化一個NSString的數據如下

NSString *theXML = [[NSString alloc] 
         initWithBytes: [webData mutableBytes] 
         length:[webData length] 
         encoding:NSUTF8StringEncoding]; 

`

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> 
<s:Body> 
<GetCategoryResponse xmlns="http://tempuri.org/"> 
<GetCategoryResult> 
<Root><Record><catid>1</catid><catname>Hi</catname><catlogo>http://10.25.4.49/monsoonstore/Category/50X50.GIF</catlogo></Record></Root></GetCategoryResult> 
</GetCategoryResponse> 
</s:Body> 
</s:Envelope> 

當我分析的數據我沒有按解析器「T讀ROOT標籤,因爲它應該,但與信封標籤,而不是開始..我怎樣才能解析器解析,我從服務器接收即

<Root><Record><catid>1</catid><catname>Hi</catname><catlogo>http://10.25.4.49/monsoonstore/Category/50X50.GIF</catlogo></Record></Root> 

確切的XML我怎麼能解析這個webData與te正確標籤 ??

+0

如果更多鈔票所以纔給我從這裏u得到這個XML數據,我會盡力的URL我自己和之後,我會給你解決方案。 – user755278 2011-06-03 06:55:25

+0

http://10.25.4.49/MonSoonStore/ClientService.svc Web服務鏈接http://tempuri.org/IClientService/GetCategory「是@」SOAPAction「 – 2011-06-03 07:50:28

+0

要解析iPhone中的XML,您需要使用NSXMLParser。[NSXMLParser類參考](http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSXMLParser_Class/Reference/Reference.html) – Swapna 2011-06-03 06:46:47

回答

1

您可以使用TouchXML解析器來獲得更好的和預期的效果,然後在XML解析器功能使用

NSString *responseString = [[[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding] autorelease]; 
CXMLDocument *xmlParser = [[[CXMLDocument alloc] initWithXMLString:responseString options:0 error:nil] autorelease]; 
NSArray *returnNodes = NULL; 
returnNodes = [xmlParser nodesForXPath:@"//Root" error:nil]; 
. 
. 
.