我按照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>
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>
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();}
}
} 直接写的,没测试你试一下
String value=null; 之后通过
谢了!!!