我想要一些幫助來解析這個響應。我認爲這是WSDL,並希望檢查「成功輸入」字符串。下面是代碼:WSDL/XML解析iOS目標C
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sch="http://example.com/reg/abc">
<soapenv:Header/>
<soapenv:Body>
<sch:LoginResponse>
<sch:Status code=200>Successfully Entered</sch:Status>
<sch:Message>[CDATA[Successfully Entered]]</sch:Message>
</sch:LoginResponse>
</soapenv:Body>
</soapenv:Envelope>
編輯:下面是我已經實現
代碼-(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *) namespaceURI qualifiedName:(NSString *)qName
attributes: (NSDictionary *)attributeDict
{
NSLog(@"START ELEMENT NAME ==> %@", elementName);
if([elementName isEqualToString:@"sch:Status"])
{
if(!soapResults)
{
soapResults = [[NSMutableString alloc] init];
}
elementFound = YES;
}
}
-(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
if(elementFound)
{
[soapResults appendString:string];
}
}
-(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
NSLog(@"END ELEMENT NAME ==> %@", elementName);
if([elementName isEqualToString:@"sch:Status"])
{
NSLog(@"Found ==> %@", soapResults);
[soapResults setString:@""];
elementFound = FALSE;
}
}
打印日誌顯示高達sch:LoginResponse
和不來的元素名稱sch:Status
你試過了嗎? – Buntylm
試過'NSXMLParser'委託方法進入元素,但不能進入正確的? – Samapple007
爲什麼不呢?它是有效的XML,在解析過程中出了什麼問題? – Wain