对于循环错误

时间:2011-11-29 10:12:34

标签: java for-loop nodelist

我想将从程序的其他部分获取的节点插入到NodeList中。

static void NodeCheck(Node node)
{

    NodeList NodeArray = null;
    for(int i=0;NodeArray.getLength()<=i;i++)
    {
        NodeArray.item(i)=node;
    }
} 

在这里,NetBeans给了我一个错误,我需要一个变量,而不是值。什么是解决方案?

编辑:好的,让我们改变这个

NodeList NodeArray = null;

        NodeArray.item(0)=node;

没有迭代,仍然是同样的错误,,,,

编辑NO.2: 让我更清楚地说明问题,如何将节点(单个节点)插入类似数组的东西?蚂蚁想法?这样做的原因是将它们相互比较,看天气是相同还是不同......

7 个答案:

答案 0 :(得分:2)

此行将NodeArray设置为null。

  NodeList `NodeArray` = null;

在下一行中,您尝试在此NodeArray上调用方法,该方法为空,这不起作用。

  NodeArray.getLength()

您必须将NodeArray正确初始化为非空值。

答案 1 :(得分:0)

您无法插入org.w3c.dom.NodeList。使用适当的元素方法, org.w3c.dom.Node#appendChild

答案 2 :(得分:0)

可能是nullPointerException,因为当你为它调用length()方法时,NodeArray为null。

答案 3 :(得分:0)

我认为你遇到的第一个问题是NodeArray为null,你无法访问null元素的属性...尝试做这样的事情:

NodeList NodeArray = new NodeList();

答案 4 :(得分:0)

你必须分配“nodeArray”,你也会在“NodeArray.getLength()”行上得到一个NullPointerException。 我还建议用小写(按惯例)启动变量和函数名。

static Node rootNode; 
static void nodeCheck(Node node)
{
    NodeList nodeArray = rootNode.getChildNodes(); // if rootNode==null -> NullPointerException
    for(int i=0;nodeArray.getLength()<=i;i++) // if nodeArray==null -> NullPointerException
    {
        //replace child of rootNode by node
        rootNode.replaceChild(node,nodeArray.item(i));           
    }
    //add child to rootNode
    rootNode.appendChild(node); 
}

祝你好运, 于连

答案 5 :(得分:0)

当你什么也没有,并且你正在迭代它时,它将导致空指针。

在迭代之前应该初始化NodeList

答案 6 :(得分:0)

您不能使用NodeList.item(i)来分配值。为此目的使用一些合适的容器,请访问此链接以获取更多详细信息Create XML document using nodeList