我按照littlemonster朋友的方法写了个小程序,想得到devide.xml中的 <deviceno>.... </deviceno>中的"123456789",可是得到的String值为null,各位老师帮我看看,什么原因???附上源码: 
    
import java.io.*; 
import org.jdom.input.SAXBuilder; 
import org.jdom.Document; 
import org.jdom.Element; 
class getDevice{ 
public static void main(String[] args){ 
try{ 
SAXBuilder builder = new SAXBuilder(); 
Document doc = builder.build(new File("d:\\java\\device.xml")); 
Element user= doc.getRootElement(); 
String device= user.getAttributeValue("deviceno"); 
System.out.println(device); 
}catch(Exception e){ 
e.printStackTrace();} 

} <?xml version="1.0" encoding="GB2312"?> 
<a re="此段主要是存放的系统的配置和状态信息" father="NULL"> 
<server> 
<local4p> 
<local4pport value="9972"> </local4pport> 
</local4p> 
</server> 
<device> 
<devicename value="router"> </devicename> 
<deviceno value="123456789"> </deviceno> 
</device> 
<fkeyposition> 
<f1 x="0%" y="39%" value="f1"> </f1> 
<f2 x="-0%" y="39%" value="f2"> </f2> 
<f3 x="0%" y="57%" value="f3"> </f3> 
<f4 x="-0%" y="57%" value="f4"> </f4> 
<f5 x="0%" y="75%" value="f5"> </f5> 
<f6 x="-0%" y="75%" value="f6"> </f6> 
<f7 x="0%" y="92%" value="f7"> </f7> 
<f8 x="-0%" y="92%" value="f8"> </f8> 
<f25 x="0%" y="39%" value="f25"> </f25> 
<f26 x="-0%" y="39%" value="f26"> </f26> 
<f27 x="0%" y="57%" value="f27"> </f27> 
<f28 x="-0%" y="57%" value="f28"> </f28> 
<f29 x="0%" y="75%" value="f29"> </f29> 
<f30 x="-0%" y="75%" value="f30"> </f30> 
<f31 x="0%" y="92%" value="f31"> </f31> 
<f32 x="-0%" y="92%" value="f32"> </f32> 
</fkeyposition> 
</a> 

解决方案 »

  1.   

    import java.io.*; 
    import org.jdom.input.SAXBuilder; 
    import org.jdom.Document; 
    import org.jdom.Element; 
    class getDevice{ 
    public static void main(String[] args){ 
    try{ 
    SAXBuilder builder = new SAXBuilder(); 
    Document doc = builder.build(new File("d:\\java\\device.xml")); 
    Element user= doc.getRootElement();
    List devices= user.getChildren("device"); 
    for (int i = 0; i < devices.size(); i++) {
          Element device= (Element) devices.get(i);
          List devicenos= device.getChildren("deviceno");
          for (int j = 0; j < devicenos.size(); j++) {
                Element deviceno= (Element) devicenos.get(j);
                String value= deviceno.getAttribute("value").getValue();
          }
    }System.out.println(value); 
    }catch(Exception e){ 
    e.printStackTrace();} 

    } 直接写的,没测试你试一下
      

  2.   

    试过了 加上 import java.util.*;
               String value=null;  之后通过
      谢了!!!