解决方案 »

  1.   

    这么个小XML文件,用dom4j去读取把!
      

  2.   

    是可以读取出来,不够是有组织部门关系的,dom4j我只读出了内容,层级关系怎末取到?谢谢
      

  3.   

    可以读出来,层级关系就要你自己指定了!
    比如depart name="1" 下面有depart name="11"那depart中就要有一个属性保存它的子节点,还有有一个list属性用来保存它的所有人员,这个按照上面组装就行了!
      

  4.   

    depart中就要有一个属性保存它的子节点,还是不太明白,可以再具体一点吗
      

  5.   

    可以用Degister框架对XML进行解析,解析成JavaBean后进行面向对象编程。
      

  6.   

    其实就是一个xml,不同的节点去读取就是,给你贴一段关于读取xml的方法,你自己照样写一个就是,不难:<wuxialist>
    <txtbook>
    <name>AAAA</name>
    <author>aaa</author>
    </txtbook>
    <txtbook>
    <name>BBBB</name>
    <author>bbbb</author>
    </txtbook>
    </wuxialist>
    要求运行结果为: 1.AAAA  2.BBBB
    import java.io.File;
    import java.io.IOException;import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.ParserConfigurationException;import org.w3c.dom.Document;
    import org.w3c.dom.Element;
    import org.w3c.dom.Node;
    import org.w3c.dom.NodeList;
    import org.xml.sax.SAXException;public class b
    {
        public static void main(String[] args)
        {
            try
            {
                DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
                DocumentBuilder db = factory.newDocumentBuilder();
                Document doc = db.parse(new File("d://a.xml"));
                Element elmtInfo = doc.getDocumentElement();
                NodeList nodes = elmtInfo.getChildNodes();
                int m = 1;
                for (int i = 0; i < nodes.getLength(); i++)
                {
                    Node result = nodes.item(i);
                    if (result.getNodeType() == Node.ELEMENT_NODE && result.getNodeName().equals("txtbook"))
                    {
                        NodeList ns = result.getChildNodes();                    for (int j = 0; j < ns.getLength(); j++)
                        {
                            Node record = ns.item(j);                        if (record.getNodeType() == Node.ELEMENT_NODE && record.getNodeName().equals("name"))
                            {
                                System.out.println(m + ": " + record.getTextContent());
                                m++;
                            }
                        }
                    }
                }
            }
            catch (ParserConfigurationException e)
            {
                e.printStackTrace();
            }
            catch (SAXException e)
            {
                e.printStackTrace();
            }
            catch (IOException e)
            {
                e.printStackTrace();
            }
        }
    }
      

  7.   

    感谢大家,我的问题解决了,问了一个大神。是先用递归的方法,把表读出来,在递归的过程中,用一个while循环的方法,对当前节点进行回溯,找到最外里的tree,这样,在回溯的过程中,控制LEVEL,就是节点所在的层次,在递归过程中,要每一次读取,都把信息保存到数据库的表里,让子节点来找到上一级的父节点,这样就完成了。