Не удается разобрать веб-сервисы, получая данные в iphone
Я новичок в программировании телефона. Используя приведенный ниже код, я получаю ответ от веб-службы
NSString *soapMessage=[NSString stringWithFormat:
@"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"
"<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">\n"
"<soap:Body>\n"
"<OnlineStatus xmlns=\"http://tempuri.org/\">\n"
"<CafeName>Cyber Cafe Name</CafeName>\n"
"<FromDate>2012-03-01</FromDate>\n"
"<ToDate>2013-05-03</ToDate></OnlineStatus>\n"
"</soap:Body>\n"
"</soap:Envelope>"];
NSLog(@"%@",soapMessage);
NSURL *url = [NSURL URLWithString:@"http://www.ebidmanagerdemo.com/gjHouseOnline/xml/XMLDataService.asmx"];
NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url];
NSString *msgLength = [NSString stringWithFormat:@"%d", [soapMessage length]];
[theRequest addValue: @"text/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
[theRequest addValue: @"http://tempuri.org/OnlineStatus" forHTTPHeaderField:@"Soapaction"];
[theRequest addValue: msgLength forHTTPHeaderField:@"Content-Length"];
[theRequest setHTTPMethod:@"POST"];
[theRequest setHTTPBody: [soapMessage dataUsingEncoding:NSUTF8StringEncoding]];
NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];
if(theConnection) {
webData = [NSMutableData data];
}
else {
NSLog(@"theConnection is NULL");
NSString *msgLength = [NSString stringWithFormat:@"%d", [soapMessage length]];
NSLog(@"%@",msgLength);
}
}
Я получаю ответ в нижнем формате
2013-05-27 13:55:10.028 NewC Newcafezee[1191:11303] <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <OnlineStatus xmlns="http://tempuri.org/"> <CafeName>Cyber Cafe Name</CafeName> <FromDate>2012-03-01</FromDate> <ToDate>2013-05-03</ToDate></OnlineStatus> </soap:Body> </soap:Envelope> 2013-05-27 13:55:13.170 NewC Newcafezee[1191:11303] DONE. Received Bytes: 18345 2013-05-27 13:55:13.170 NewC Newcafezee[1191:11303] getting in xml <?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><OnlineStatusResponse xmlns="http://tempuri.org/"><OnlineStatusResult><?xml version="1.0" encoding="utf-8"?> <DataSet> <xs:schema id="Result" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xs:element name="Result" msdata:IsDataSet="true" msdata:UseCurrentLocale="true"> <xs:complexType> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="Table"> <xs:complexType> <xs:sequence> <xs:element name="SystemDateTime" type="xs:dateTime" minOccurs="0" /> <xs:element name="CafeDateTime" type="xs:dateTime" minOccurs="0" /> <xs:element name="LicenseNumber" type="xs:string" minOccurs="0" /> <xs:element name="MachineIP" type="xs:string" minOccurs="0" /> <xs:element name="TotalClients" type="xs:int" minOccurs="0" /> <xs:element name="IdleClients" type="xs:int" minOccurs="0" /> <xs:element name="BusyClients" type="xs:int" minOccurs="0" /> <xs:element name="DummyIdle" type="xs:int" minOccurs="0" /> <xs:element name="DummyBusy" type="xs:int" minOccurs="0" /> <xs:element name="PCUsageSessions" type="xs:int" minOccurs="0" /> <xs:element name="PCUsageMinutes" type="xs:int" minOccurs="0" /> <xs:element name="SessionMessage" type="xs:string" minOccurs="0" /> <xs:element name="CreatedBy" type="xs:int" minOccurs="0" /> <xs:element name="CreatedDate" type="xs:dateTime" minOccurs="0" /> <xs:element name="Cybercafe" type="xs:string" minOccurs="0" /> <xs:element name="Email" type="xs:string" minOccurs="0" /> <xs:element name="AdminPassword" type="xs:string" minOccurs="0" /> <xs:element name="MajorVersion" type="xs:short" minOccurs="0" /> <xs:element name="MinorVersion" type="xs:short" minOccurs="0" /> <xs:element name="SalesAmount" type="xs:decimal" minOccurs="0" /> <xs:element name="PurchasesAmount" type="xs:decimal" minOccurs="0" /> <xs:element name="Revision" type="xs:int" minOccurs="0" /> <xs:element name="CZLicense" type="xs:string" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> </xs:choice> </xs:complexType> </xs:element> </xs:schema> <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1"> <Result> <Table diffgr:id="Table1" msdata:rowOrder="0"> <SystemDateTime>2012-09-20T00:00:00-06:00</SystemDateTime> <CafeDateTime>2012-09-18T11:01:54-06:00</CafeDateTime> <LicenseNumber>cc</LicenseNumber> <MachineIP>192.168.13.167</MachineIP> <TotalClients>0</TotalClients> <IdleClients>0</IdleClients> <BusyClients>0</BusyClients> <DummyIdle>0</DummyIdle> <DummyBusy>0</DummyBusy> <PCUsageSessions>0</PCUsageSessions> <PCUsageMinutes>0</PCUsageMinutes> <SessionMessage>LVCLPRLbSCTC</SessionMessage> <CreatedBy>1</CreatedBy> <CreatedDate>2012-09-20T00:00:00-06:00</CreatedDate> <Cybercafe>Cyber Cafe Name</Cybercafe> <Email>[email protected]</Email> <AdminPassword>admin1</AdminPassword> <MajorVersion>1</MajorVersion> <MinorVersion>0</MinorVersion> <SalesAmount>0.0000</SalesAmount> <PurchasesAmount>0.0000</PurchasesAmount> <Revision>0</Revision> <CZLicense /> </Table> </Result> </diffgr:diffgram> </DataSet></OnlineStatusResult></OnlineStatusResponse></soap:Body></soap:Envelope>
I am not getting what is < and > at end of tag.I am not getting start tag and end tag in this response.and also in xml
And usign below code i am trying parse data but here its not loading data in
NSXMLParser
-(void)connectionDidFinishLoading:(NSURLConnection *)connection { NSLog(@"DONE. Received Bytes: %d", [webData length]); NSString *theXML = [[NSString alloc] initWithBytes: [webData mutableBytes] length:[webData length] encoding:NSUTF8StringEncoding]; NSLog(@" getting in xml %@",theXML); xmlParser = [[NSXMLParser alloc]initWithData:webData]; [xmlParser setDelegate: self]; [xmlParser setShouldResolveExternalEntities: YES]; [xmlParser parse]; NSLog(@" iiiiii %@",xmlParser); }
Its show in
NSXMLParser
like below its empty.I want to parse data using start and end elements.2013-05-27 13:55:13.179 NewC Newcafezee[1191:11303] iiiiii <NSXMLParser: 0x71c7060>