Синтаксический анализ XML с подузлами. - PullRequest
0 голосов
/ 06 апреля 2011

Мне нужно несколько советов о разборе XML. в моем случае я должен разобрать XML это выглядит как

-<food-drive>
−<coordinator cordid="4">
       <name>Luis Abarca</name>
       <teamname>A parents</teamname>
       <target>$3,500.00</target>
       <received>$0.00</received>
       −<image>
        alink
       </image>
−<teammember count="1">
   −<member memid="3">
      <membername>Rub</membername>
      <email>ssn@gmail.com</email>
      <phone>(323) 807-3920</phone>
   </member>
</teammember>
</coordinator>
−<coordinator cordid="9">
     <name>Jani</name>
     <teamname>Woori's LA Keeper</teamname>
     <target>$200.00</target>
     <received>$0.00</received>
     −<image>
          alink
     </image>
</coordinator>
−<coordinator cordid="11">
    <name>Jan</name>
    <teamname>Woori LA Keeper</teamname>
    <target>$200.00</target>
    <received>$0.00</received>
   −<image>
       alink
    </image>
</coordinator>
−<coordinator cordid="13">
   <name>Julio Torres</name>
   <teamname>Our Town El Sereno</teamname>
   <target>$1,000.00</target>
   <received>$0.00</received>
  −<image>
      alink
   </image>
</coordinator>
</food-drive>

Здесь тег [координатор] является основным тегом, а тег [teammember] является внутренним тегом, но этот тег появляется редко. Теперь я хочу разобрать этот xml и сохранить данные. Я запутался, как хранить данные, потому что тег [координатор] может иметь более одного тега [член команды] !!! Любое предложение?

1 Ответ

2 голосов
/ 06 апреля 2011

Храните изменяемый массив членов команды и один объект, который указывает на «текущий».

Если вы используете встроенный синтаксический анализатор XML, вы должны в didStartElement: выделить и поместить нового члена команды в массив и установить объект, указывающий на него.

Таким образом, последующие записи, относящиеся к членам команды, смогут обращаться к этому объекту для заполнения данных.

...