通过DOM中的标记名称获取子节点

时间:2012-01-19 19:03:07

标签: xml dom getelementsbytagname

我知道在DOM中,Document对象的方法是 getElementsByTagName()

为什么没有在任何特定节点上定义此操作?假设我有一个Node对象,我想按名称找到该Node的特定子节点。我是否真的必须实现自己的方法来遍历所有孩子,直到找到具有该名称的孩子? (我没有使用XPath。)对于一项简单的任务,听起来很多工作。感谢

2 个答案:

答案 0 :(得分:0)

我测试了代码,得到了预期的结果。所以我认为你做错了。

示例:http://tinkerbin.com/uAgGGIM4(单击运行以运行代码)

答案 1 :(得分:0)

我认为你在谈论JAVA。如果是Javascript,请记住这个答案(并请相应地标记您的问题)。在这种情况下,getElementsByTagName仅适用于“Element”对象,而不适用于“Node”对象(所有元素都是节点,但所有节点都不是元素)。

http://docs.oracle.com/javase/6/docs/api/org/w3c/dom/Element.html

如果您确定您的对象是元素,则可以在调用方法之前进行转换

Element eElement = (Element) nNode;

您之前可能需要http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html#isAssignableFrom%28java.lang.Class%29