Java 从jdom中的文档读取文本时出错?

Java 从jdom中的文档读取文本时出错?,java,xml,jdom,Java,Xml,Jdom,我在这里问你一个关于jdom的基本问题。我试图读取一个文档对象,但一直出错。 我想读的文件是 <message> <header> <messageType>snmp</messageType> <sendFrom>192.168.0.16</sendFrom> <hostName>oghmasysMehmet</hostName> <sendTo>192.168.0.12</sen

我在这里问你一个关于jdom的基本问题。我试图读取一个文档对象,但一直出错。 我想读的文件是

<message>
<header>
<messageType>snmp</messageType>
<sendFrom>192.168.0.16</sendFrom>
<hostName>oghmasysMehmet</hostName>
<sendTo>192.168.0.12</sendTo>
<receiverName>Mehmet</receiverName>
<date>03/10/2011</date>
</header>
<body>
<snmpType>getbulk</snmpType>
<ip>127.0.0.1</ip>
<port>161</port>
<oids>
  <oid>1.3.6.1.2.1.1</oid>
</oids>
<community>public</community>
<nR>0</nR>
<mR>5</mR>
</body>
</message>

snmp
192.168.0.16
OGHMASYSMET
192.168.0.12
穆罕默德
03/10/2011
getbulk
127.0.0.1
161
1.3.6.1.2.1.1
公众的
0
5.
我正努力去珍惜。为此,我编写了一个函数

public Vector<String> getOIDs(Document document){ 

    Vector<String> oids = new Vector<String>();

    Element root = document.getRootElement();
    Element body = root.getChild("body");
    //Element element = body.getChild("oids");
    List rows = body.getChildren("oid");
    for (int i = 0; i < rows.size(); i++) {
        Element row = (Element) rows.get(i);
        String s = row.getText();
        oids.add(s);
    }
    return oids;
}
公共向量getOIDs(文档){
向量OID=新向量();
元素根=document.getRootElement();
元素body=root.getChild(“body”);
//Element=body.getChild(“OID”);
列表行=body.getChildren(“oid”);
对于(int i=0;i
但是当我调试它时,我总能看到函数没有读取任何内容。 你能帮我一下吗

谢谢大家


编辑:好的,很抱歉问了这样一个noob问题,我只是在getchildren()中犯了一个错误;我应该写oid而不是oid


编辑2:实际上,当我对我的问题发表评论时,ı已经更改了代码,但现在,我读到的唯一内容是“\n\n”而不是“1.3.6.1.2.1.1”。你认为问题可能是什么?

乍一看,在我看来,没有一个“老”孩子,它有一个“老”孩子。您试图读取的元素位于“OID”元素内


您可以尝试一步一步地调试它,并查看哪些元素没有被读取。这将是我最好的猜测,不必尝试。您的注释行是正确的,它下面的行只需要更新以匹配。您的列表应为:

 Vector<String> oids = new Vector<String>();
 Element root = document.getRootElement();
 Element body = root.getChild("body");
 Element element = body.getChild("oids");
 List rows = element.getChildren("oid");
 for (int i = 0; i < rows.size(); i++) {
      Element row = (Element) rows.get(i);
      String s = row.getText();
      oids.add(s);
 }
 return oids;   
向量OID=新向量();
元素根=document.getRootElement();
元素body=root.getChild(“body”);
Element=body.getChild(“OID”);
列表行=element.getChildren(“oid”);
对于(int i=0;i
Ok很抱歉问了这样一个问题,我在getchildren()中犯了一个错误;我应该写oid而不是oid