google jdom的使用要比在这里问快多了

解决方案 »

  1.   

    好好调试为什么是空 <?xml version = "1.0" encoding="GB2312" ?>
    <viewentry position="" unid="" noteid="" siblings="">
    <entrydata columnnumber="0" name="$FullName">
    <text>U00592/XCQ</text></entrydata>
    <entrydata columnnumber="1" name="$LastName">
    <text>张三</text></entrydata>
    <entrydata columnnumber="2" name="$DepartmentID">
    <text>D00</text></entrydata>
    <entrydata columnnumber="3" name="$Department">
    <text>文山路</text></entrydata>
    <entrydata columnnumber="4" name="$companyid">
    <text>C001</text></entrydata>
    <entrydata columnnumber="5" name="$CompanyName">
    <text>XXX街道</text></entrydata>
    </viewentry>
    try {
    SAXBuilder saxBuilder = new SAXBuilder();
    Document doc = saxBuilder.build("jdom.xml");
    Element root = doc.getRootElement();
    List<Element> messList = root.getChildren("entrydata");
    Element children = null;
    for (int i = 0; i < messList.size(); i++) {
    children = messList.get(i);
    System.out.println("columnnumber--->"+children.getAttributeValue("columnnumber")+"|||||"+"name--->"+children.getAttributeValue("name"));
    List<Element> childs=  children.getChildren();
    for (Element element : childs) {
    System.out.println(element.getText());
    }
    }
    } catch (Exception e) {
    e.printStackTrace();
    }
      

  2.   

    按你的代码去试了下,messlist是空的 把entrydata改成viewentry list有数据但是下面的值取不到。
      

  3.   

    我测试可以的。估计
    是你xml 问题,你换成我写的那个xml。columnnumber--->0|||||name--->$FullName
    U00592/XCQ
    columnnumber--->1|||||name--->$LastName
    张三
    columnnumber--->2|||||name--->$DepartmentID
    D00
    columnnumber--->3|||||name--->$Department
    文山路
    columnnumber--->4|||||name--->$companyid
    C001
    columnnumber--->5|||||name--->$CompanyName
    XXX街道xml文件
    <?xml version = "1.0" encoding="GB2312" ?>
    <viewentry position="" unid="" noteid="" siblings="">
    <entrydata columnnumber="0" name="$FullName">
    <text>U00592/XCQ</text></entrydata>
    <entrydata columnnumber="1" name="$LastName">
    <text>张三</text></entrydata>
    <entrydata columnnumber="2" name="$DepartmentID">
    <text>D00</text></entrydata>
    <entrydata columnnumber="3" name="$Department">
    <text>文山路</text></entrydata>
    <entrydata columnnumber="4" name="$companyid">
    <text>C001</text></entrydata>
    <entrydata columnnumber="5" name="$CompanyName">
    <text>XXX街道</text></entrydata>
    </viewentry>
      

  4.   

    嗯,主要我这个<viewentry>只是<viewentrys>里面的一个,真正数据有很多的,然后我要取得的是这个属性中<text>张三</text>这里面的值。感谢你的回答- -。
      

  5.   

    SAXBuilder builder = new SAXBuilder();
    Document doc = builder.build(file);
    Element root = doc.getRootElement();

    List<Element> ulist = root.getChildren("viewentry");
    Element children = null;
    System.out.println("aaa"+ulist.size());
    try {
    for (int i = 0; i < 3; i++) {
    children = ulist.get(i).getChild("entrydata");
    // children = ulist.get(i);
    System.out.println(children);
    System.out.println("name--->" + children.getChild("$LastName"));
    List<Element> childs = children.getChildren();
    for (Element element : childs) {
    System.out.println(element.getText());
    }
    }
    } catch (Exception e) {
    e.printStackTrace();
    }这是我的代码。我先研究下,,。。
      

  6.   

    额,sax,jdom,dom4j都可以的,下个API官方demo一抄就可以了,兄弟,没那么复杂