有没有一种标准方法可以在某个节点上获取具有类名的所有元素?

时间:2015-04-01 20:48:37

标签: java dom w3c

我知道Document.getElementsByClassname(String)可以在整个文档中获取特定类名的所有元素。

我现在正试图在文档的特定节点中获取这些元素。在org.w3c.dom.Element中,我只找到getElementsByTagname。我真的需要迭代所有这些元素并阅读类名,还是有更好的方法?

我正在尝试仅使用Java找到解决方案(可以使用其他库)。

非常感谢!

3 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

尽管您正在处理org.w3c.dom.Document个对象,但这也应该有用。

我在Getting specific elements with XPath from an SVG with Batik中找到了使用xalan库的解决方案。唯一的区别是我最终使用的是XPathAPI而不是XPathEvaluator,因为与batik实施的org.w3c.dom.xpath.XPathEvaluator不一致。

这是我写的代码的相关部分:

Element searchRoot= document.getRootElement();
NodeList nl = XPathAPI.selectNodeList(searchRoot, ".//*[@class=\"class_name\"]");

答案 2 :(得分:-2)

jQuery是更好的方法。

这将选择id为“nodeToSearchName”的节点中具有“classNameToFind”类的所有节点。

$( “#nodeToSearchName”)。发现( “classNameToFind”)