如题,注意:并不一定只有一层循环,不知道节点下面有没有子节点,也不知道子节点下面还有没有子节点...? 谢谢,重金有赏!
解决方案 »
- 做一个比价网站
- 请教,这样一个字段用hibernate能实现自动增长吗???
- 想用POI读取EXCEL导入DB2数据库,在JSP中如何调用,完成导入数据库的功能
- 在修改页面中,select需要显示从数据库中取出的字段,如何才能做到啊?
- 在 struts2 中如何集成velocity?
- 【紧急求救】怎么在update中把字段名变成变量的形式 就是这样。。。
- 在线等 关于JSP与数据库连接问题 一个下午了 请高手指点!!!
- 开发JSP都需要哪些工具~?~?~?
- JSP中包含JAVA程序就无法运行?
- 我安装了editplus2,但是不支持jsp,应该怎么办?
- jsp+servelt+xml求指导
- java--hibernate分页报异常,
// 用递归方法遍历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);
}
if(node instanceof TagNode){
System.out.println(((TagNode)node).getText());
} Node child=node.getFirstChild();
while(child!=null){
traver(child);
child=child.getSibling();
}
}