难以将SAX解析器用于相同的命名父子节点

时间:2012-03-02 10:13:17

标签: java xml-parsing saxparser

这是要解析的xml。    我想使用sax解析器来解析这个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解析器中解析它 这是我为它创建的PlansDTO。

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

}

我在通过sax解析器处理这棵树时遇到困难,有没有人可以帮助我?

1 个答案:

答案 0 :(得分:2)

SAX是一个无上下文的解析器,因此,如果您需要上下文,则必须自己完成:因此,您的解析器应该引用已启动的最后一个“计划”实例。

您也可以考虑使用另一种解析器,如DOM或JAXB:这些解析器将为您保留上下文。