有一个XML,有若干子结点和叶子结点,但每一个结点都有一个唯一的属性ID,
如何根据给定的ID,取出结点对象?
结点对象就用node,XML对象用parentNode,
取子结点用getChild(),取下一个兄弟结点用getBrother(),
取属性用getAttribute(),
有人能递归取出吗?
请给出代码,谢谢~~~~~~~~~~

解决方案 »

  1.   

    递归遍历XML没人会吗..........................................
      

  2.   

    public List findResultList(String strSelectedID)
    {
        List list =  new ArrayList();
        Element xmlDeptNode = null;
        String strDeptID = "";
    try {

        Element rootElement = getRootElement();
        List xmlNodes = rootElement.getChildren("Department");
                for (Iterator i = xmlNodes.iterator(); i.hasNext(); ) 
        {
                xmlDeptNode = (Element)i.next();
                strDeptID = xmlDeptNode.getAttribute("id").getValue();
                if (strDeptID.equals(strSelectedID))
                {
                    List xmlTableNodes = xmlDeptNode.getChildren("Table");
                 for (Iterator j = xmlTableNodes.iterator(); j.hasNext(); ) 
             {
                       //某些处理
         } 
                 break;
                }

    } catch (Exception e) {

    e.printStackTrace();

    return list;
    }
      

  3.   

    List xmlNodes = rootElement.getChildren("Department");
    这取到的是什么?应该是个XML结点对象啊,怎么会是一个List呢?
    并且我希望,仅仅只关注算法,可以脱离JAVA的,只通过我提供的方法通过
    递归循环得到那个结点。
    补充一点,结点对象可以用XmlNode代替,
    root结点就用XmlNode root = getRoot();随便写一下就可以了,
    有会的朋友请补充,谢谢~~~~