java如何使用DOM节点的属性查找DOM节点
我在编译时使用JAVA将我的HTML/JSP解析为DOM。现在我有了w3c。多姆。Document与我一起创建对象,比如下面的HTML
.....
....
<input type="text" name="EnterName"/>
<select name="SelectOptions">
<option>First</option>
<option>Second</option>
</select>
......
.......
我知道元素的属性值。这里的“EnterName”是节点“input”的“name”属性值
假设我有DOM中所有可用节点的属性值(如上面HTML中的“EnterName”、“SelectOptions”),如何获得一个节点,其中一个特定属性可以使用给定的值。谢谢
编辑:
I will never know whats the HTML contents. My program should run on given list of HTML/JSP files and I have with me some element names. Here the element name refers to the label/name of the fields available in the HTML/JSP. So I need to traverse through all the files get the node where it has the same label/name and get the node.
# 1 楼答案
你可以这样说:
请参考API以获得正确的方法来检索值
# 2 楼答案
通常,您会按属性的名称(例如“名称”)搜索属性,而不是按属性的值(例如“EnterName”)搜索属性。所以你通常会去
对于任何非常复杂的事情,我都使用XPath。这是你想要的。这里有一个博客,看起来正是你想要的(虽然它不是Java,但已经足够近了):
http://blogs.msdn.com/b/davidklinems/archive/2007/03/13/quick-tip-using-xpath-to-find-nodes-by-attribute-value.aspx
这是一个similar non-Java Stack Overflow link
在Java中详细阐述,有点乏味,但是,大致上
还没有测试过你的案子所以请注意
# 3 楼答案
例如,可以在html中添加自定义属性来区分html组件
根据自定义属性,您可以检查并区分HTML组件
# 4 楼答案
试试这样:
如果你能在元素中添加“id”,那就容易多了: