我知道Document.getElementsByClassname(String)
可以在整个文档中获取特定类名的所有元素。
我现在正试图在文档的特定节点中获取这些元素。在org.w3c.dom.Element
中,我只找到getElementsByTagname
。我真的需要迭代所有这些元素并阅读类名,还是有更好的方法?
我正在尝试仅使用Java找到解决方案(可以使用其他库)。
非常感谢!
答案 0 :(得分:2)
我最终使用了JSoup,它包含了我需要的方法。
http://jsoup.org/apidocs/org/jsoup/nodes/Element.html#getElementsByClass%28java.lang.String%29
答案 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”)