java item.getparentnode(),怎么遍历NodeList

Java code// 用递归方法遍历DOM树

public void GetElement(NodeList nodelist) {

Node cnode;

int i;

String str;

int len;

if (nodelist.getLength() == 0) {

return;

}

for (i = 0; i < nodelist.getLength(); i++) {

cnode = nodelist.item(i);

if (cnode.getNodeType() == 1) {

if(cnode.hasChildNodes()){

NodeList childlist = cnode.getChildNodes();

if(childlist.item(i).getNodeType()==Node.ENTITY_NODE){

String stringLetter=cnode.getNodeName().substring(0, 1).toUpperCase();

String setName="set"+ stringLetter + cnode.getNodeName().substring(1);

// Method setMethod=fs.getMethod(setName, cnode.getNodeType());

}

}

GetElement(cnode.getChildNodes());

} else if (cnode.getNodeType() == 3) {

str = cnode.getNodeValue();

len = str.length();

if (len > 1){

String fieldName = cnode.getParentNode().getNodeName();

String stringLetter=fieldName.substring(0, 1).toUpperCase();

String setName="set"+stringLetter+fieldName.substring(1);

Field[] fields1=head.getDeclaredFields();

Field[] fields2=msg.getDeclaredFields();

for (int j = 0; j < fields1.length; j++) {

if(fields1[j].getName()==fieldName){

try {

Method setMethod = head.getMethod(setName, fields1[j].getType().getClass());

setMethod.invoke(head, str);

} catch (SecurityException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IllegalArgumentException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (NoSuchMethodException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IllegalAccessException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (InvocationTargetException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

for (int j = 0; j < fields2.length; j++) {

if(fields2[j].getName()==fieldName){

try {

Method setMethod = msg.getMethod(setName, fields2[j].getType().getClass());

setMethod.invoke(msg, str);

} catch (SecurityException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IllegalArgumentException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (NoSuchMethodException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IllegalAccessException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (InvocationTargetException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

}

}

}

}

// 遍历所提供的DOM文档.

public void ParseDom(Document document) {

NodeList nodelist;

Element element = document.getDocumentElement();

// System.out.println("----" + element.getNodeName());

nodelist = element.getChildNodes();

GetElement(nodelist);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值