Для ошибки цикла - PullRequest
       40

Для ошибки цикла

0 голосов
/ 29 ноября 2011

Я хочу вставить узлы, извлеченные из другой части программы, в 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;

нет итерации и все та же ошибка ,,,,

РЕДАКТИРОВАТЬ № 2: позвольте мне сделать мой вопрос более ясным, как я могу вставить узлы (отдельные узлы) в нечто вроде массива? Идея муравья? причина сделать это, чтобы сравнить их друг с другом, чтобы увидеть, являются ли они одинаковыми или разными ...

Ответы [ 7 ]

2 голосов
/ 29 ноября 2011

В этой строке для NodeArray будет установлено значение null.

  NodeList `NodeArray` = null;

В следующей строке вы пытаетесь вызвать метод для этого NodeArray, что является нулевым, это не может работать.

  NodeArray.getLength()

Необходимо правильно инициализировать массив NodeArray с ненулевым значением.

0 голосов
/ 29 ноября 2011

Вы не можете использовать NodeList.item (i) для присвоения значений. используйте для этого подходящий контейнер, перейдите по этой ссылке для получения более подробной информации Создание XML-документа с использованием nodeList

0 голосов
/ 29 ноября 2011

Если у вас ничего нет и вы выполняете итерацию, это приведет к нулевому указателю.

* * * * * * * * * * * * * Инициализировать NodeList следует до итерации.

0 голосов
/ 29 ноября 2011

Вы должны назначить "nodeArray", также вы получаете исключение NullPointerException в строке "NodeArray.getLength ()".Я также рекомендую начинать имена переменных и функций строчными буквами (по соглашению).

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); 
}

С уважением, Жюльен

0 голосов
/ 29 ноября 2011

Я думаю, что первая проблема, с которой вы столкнулись, это то, что NodeArray имеет значение null, и вы не можете получить доступ к свойству нулевого элемента ... попробуйте сделать что-то вроде этого:

NodeList NodeArray = new NodeList();
0 голосов
/ 29 ноября 2011

Возможно, это nullPointerException, потому что NodeArray равен нулю, когда вы вызываете для него метод length ().

0 голосов
/ 29 ноября 2011

Вы не можете вставить в org.w3c.dom.NodeList.Используйте соответствующие методы элемента, например org.w3c.dom.Node#appendChild.

...