Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何获取仅具有元素\节点类型的子节点_Java_Xml_Dom - Fatal编程技术网

Java 如何获取仅具有元素\节点类型的子节点

Java 如何获取仅具有元素\节点类型的子节点,java,xml,dom,Java,Xml,Dom,我正在使用JavaDOM解析一个xml文档,我需要获取每个节点来执行某些操作 我有以下代码: public void analyze_file(Node node){ if(node.getNodeType() != Node.DOCUMENT_NODE){ //do something } NodeList list = node.getChildNodes(); for(int i=0; i<lis

我正在使用JavaDOM解析一个xml文档,我需要获取每个节点来执行某些操作

我有以下代码:

public void analyze_file(Node node){
        if(node.getNodeType() != Node.DOCUMENT_NODE){
            //do something
        }
        NodeList list = node.getChildNodes();
        for(int i=0; i<list.getLength(); i++){
            if(list.item(i).getNodeType() == Node.ELEMENT_NODE){
                analyze_file(list.item(i));
            }
        }
}
public void analyze_文件(节点){
if(node.getNodeType()!=node.DOCUMENT\u节点){
//做点什么
}
NodeList list=node.getChildNodes();
对于(int i=0;i 30000行),上面的代码需要太多的时间来检查一个节点是否为
ELEMENT\u node
类型。我发现如果程序在到达最后一个
ELEMENT\u node
节点后停止,执行时间将非常短

是否有任何方法仅获取类型为
ELEMENT\u NODE
的所有子节点

例如:
NodeList list=node.getElementChildNodes();

谢谢你的帮助

node.getElementsByTagName("*")

From JavaDoc:按文档顺序返回具有给定标记名的所有子元素的节点列表。名称-要匹配的标记的名称。特殊值“*”匹配所有标记。

简单且完美!非常感谢:)注意,
getElementsByTagName(“*”)
方法仅适用于
元素
s。在使用该方法之前,必须将
节点
转换为
元素。