我想从稍后将用于计算其所有后代的文件中获取html节点。我在从DOM中检索元素时遇到问题。这是我迄今采取的步骤。无法使用document.getElementById获取元素,返回null
首先这里是我的html代码:
Inbox
Logout
其次,我建立了这个功能,将返回并解析文件插入到文档中。
public static Document buildDocument(String file){
try {
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document document = docBuilder.parse(file);
return document;
} catch (ParserConfigurationException | SAXException | IOException ex) {
System.out.println("the exception is: " + ex.toString());
}
return null;
}
下一页在我的主要方法我试过一个Node对象设置为一样的getElementById的方式elemet文件:
public Document doc = buildDocument("myHTMLFile");
org.w3c.dom.Node node = doc.getElementById("header");//the id of an html element
纠正我,如果我错了,但是这将导致的retreival节点。但是它返回一个空值。我不明白为什么它没有返回正确的值。注意:在调试代码时,文档确实包含了所有正确的数据,据我所知。
+0
你可以给'catch'增加一个更通用的异常吗? (我不是一个Java的人,顺便说一句) –
+0
另外,你传递“myHTMLFile”?我认为它有一个扩展或'parse'方法需要获取其内容而不是将其解释为字符串? –
+0
我不认为这个错误是在构建文档函数中,当我遍历程序时,我能够查看文档并可以看到其中的所有元素。看起来,当getElementById被调用时,它无法找到该id,但我知道它在那里,所以我为什么没有找到它是一个损失。 –