Я создаю приложение для iOS, в котором я использую библиотеку GDataXML для анализа XML в Objective C.
У меня есть следующий 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>
<MakeRequestResponse xmlns="http://tempuri.org/">
<MakeRequestResult>SOMERANDOMDATAHERE012912033905345346</MakeRequestResult>
</MakeRequestResponse>
</soap:Body>
</soap:Envelope>
У меня проблема:
когда я пишу выражение xpath для данного xml следующим образом, я получаю узел MakeRequestResponse:
NSArray *listOfNodes = [[responseDocument rootElement] nodesForXPath:@"soap:Body/*" error:&error];
Однако я не могу получить этот узел или дочерние элементы ниже, когда пишу фактическое имя узла:
NSArray *listOfNodes = [[responseDocument rootElement] nodesForXPath:@"soap:Body/MakeRequestResponse" error:&error];
Я не уверен, в чем здесь проблема. Может ли это быть проблема, связанная с пространством имен?