NSXMLParser с несколькими делегатами - PullRequest
0 голосов
/ 20 января 2011

Я пытаюсь разобрать файл дерева XML с несколькими анализаторами NSXMLParserDelegate, но я получаю в следующем выпуске.

Моя структура XML примерно такая.

<Object1>
     <Name>Ricky</Name>
     <Surname>Woodstock</Surname>
     <Adress>
          <City>Los Angeles</City>
          <State>California</State>
          <Country>USA</Country>
     </Adress>
     <Items>
          <Item>
               <Id>1</Id>
               <Description>Sports Bag</Description>
               <Price>13.45</Price>
          </Item>
          <Item>
               <Id>2</Id>
               <Description>Baseball Cap</Description>
               <Price>6.90</Price>
          </Item>
     </Items>
     <Total>20.15</Total>
</Object1>

И моя проблема в том, что когда я меняю делегатов, он начинает анализировать не в теге верхнего уровня, а начинает анализировать первый вложенный тег.

Например.

  1. Я начинаю синтаксический анализ XML с помощью синтаксического анализатора XMLObject, который анализирует элемент

  2. Когда он достигает тега Adresss, я устанавливаю делегата в XMLAdressParser (и устанавливаю родителя XMLAdressParser вself для возврата), но XMLAdressParser начинает синтаксический анализ тега.

  3. И почти с тегами Items и Item.

Я думаю, что это нормальная причина определения парсера, но вот в чем вопрос:

Может ли делегат начать синтаксический анализ в теге assignint, как первый?

Заранее благодарим за любую помощь.

Серхио

1 Ответ

0 голосов
/ 20 января 2011

Вместо того, чтобы использовать несколько делегатов, я предлагаю использовать одного делегата и распределять его по своему усмотрению.

...