сложность в использовании парсера SAX для родительских дочерних узлов с таким же именем - PullRequest
0 голосов
/ 02 марта 2012

Вот xml для анализа.Я хочу использовать синтаксический анализатор саксофона для анализа этого xml, но это

<Plans>
 <Plan ID="1" Name="Plan-A">
  <Plan ID="4" Name="Plan-A1">
<Content ID="1"    Description="Testing plans 123"/>
 <Content ID="2" Description="Testing plans 2222"/>
 </Plan>
 <Plan ID="5" Name="Plan-A2">
  <Content ID="3" Description="Testing plans 55551111"/>
</Plan>
</Plan>
</Plans>

эти вкладки планов могут перейти на N-уровни. Может ли кто-нибудь помочь мне узнать, как анализировать его в синтаксическом анализаторе SAX?я создал для него.

public class PlansDTO {
    String _id;
String _name;
String _child_id;
boolean _hasChild;
Vector _childIds;
Hashtable _plans;
Vector contentDTOs;

}

У меня проблемы с обработкой этого дерева с помощью синтаксического анализатора, может ли кто-нибудь там мне помочь?

1 Ответ

2 голосов
/ 02 марта 2012

SAX - это не зависящий от контекста анализатор, поэтому, если вам нужен контекст, вы должны сделать это самостоятельно: поэтому ваш анализатор должен иметь ссылку на последний запущенный экземпляр "плана".

Вы также можете рассмотреть возможность использования другого парсера, такого как DOM или JAXB: эти парсеры сохранят контекст для вас.

...