在使用Java的时候,发现获得指定节点的名称的时候不太方便,索性写了一个方法,方法如下:
public static Element getNode(Element node,String nodeString,Element nodeFound){
if (nodeFound!=null){
return nodeFound;
}else{
// 当前节点下面子节点迭代器
Iterator<Element> it = node.elementIterator();
while((it.hasNext())&&(nodeFound==null)){
Element e= it.next();
if (e.getName().equals(nodeString)){
nodeFound=e;
}else{
nodeFound=getNode(e,nodeString,nodeFound);
}
}
}
return nodeFound;
}
使用例子如下:
1. 获取root节点下的一个名为result的节点:
Element node=getNode(root,"result",null);
2. root节点下父节点命为“result”,子节点名称为code。可以用一下两种方法之一即可:
Element node=getNode(root,"code",null);
Element parentNode=getNode(root,"result",null);
Element childNode=getNode(parentNode,"code",null);
备注:以上方法只适用于查找,没有重复名称的单节点。