我想将从程序的其他部分获取的节点插入到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: 让我更清楚地说明问题,如何将节点(单个节点)插入类似数组的东西?蚂蚁想法?这样做的原因是将它们相互比较,看天气是相同还是不同......
答案 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