Разбор XML с использованием Soap Web Services - PullRequest
1 голос
/ 03 июня 2011

Я пытаюсь проанализировать 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>

, когда я анализирую данные, мой синтаксический анализатор не читает тег ROOT , как следует, а вместо этого начинается с envelope tag .. как я могу заставить синтаксический анализатор проанализировать точный xml, который я получаю с сервера, т.е.

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

как я могу проанализировать webData сисправьте теги ??

1 Ответ

1 голос
/ 03 июня 2011

вы можете использовать синтаксический анализатор 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];
.
.
.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...