Реализация NodeList
Я реализовал NodeList
как это:
import java.util.ArrayList;
import java.util.Collections;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class MyNodeList implements NodeList{
//// local member ...
ArrayList<Node> arrayNode = new ArrayList<Node>() ;
////
@Override
public int getLength() {
return arrayNode.size() ;
}
@Override
public Node item(int index) {
return (arrayNode.get(index)).cloneNode(true);
}
public void reverse () {
Collections.reverse(arrayNode);
}
public void castNodeToMyNode (NodeList nodeListToCast) {
int lenList = nodeListToCast.getLength();
for (int i = 0; i < lenList; i++) {
this.arrayNode.add(nodeListToCast.item(i)) ;
}
}
public void appendNodeList (NodeList nodeListToappend) {
this.castNodeToMyNode(nodeListToappend) ;
}
}
я должен сделать это, потому что мне нужен метод reverse
- разобраться в порядке NodeList
,
мой вопрос: когда это использование evaluate
функция - Object result = xpath.evaluate(expression, source,
XPathConstants.NODESET);
Я хочу установить source
аргумент как item
из MyNodeList
реализация. Можно ли установить sourcec
как myNodeAfterProbExp.item(indexOfNode)
когда myNodeAfterProbExp
является объектом MyNodeList
? Я сделал что-то подобное, но я думаю, что это подрывает выполнение evaluate
,
Заранее спасибо.