Java 从jdom中的文档读取文本时出错?
我在这里问你一个关于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
<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