java后台获取xml文件数据(无需了解xml标签内容)
第一种:按标签获取数据(大部分人博客上都有,这里不做记载)
第二种:按照顺序从根节点一直遍历往下知道最后一级数据
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
//文档解析工厂
DocumentBuilderFactory builderFactory=DocumentBuilderFactory.newInstance();
//文档解析器
DocumentBuilder db=builderFactory.newDocumentBuilder();
//根据路径进行解
Document document=db.parse(new File("WebContent/demo.xml"));
//拿到文档根节点(儿子结点)
Node n=document.getFirstChild();
//拿到根节点下的子节点(list)
NodeList l=n.getChildNodes();
//NodeList list=document.getElementsByTagName("email");
//循环遍历
for(int i=0;i<l.getLength();i++){
//判断是否是element实例
if(l.item(i) instanceof Element){
//拿到实例结点
Element element=(Element)l.item(i);
System.out.println(" "+element.getNodeName());
//拿到该节点下的所有子节点
NodeList list2=element.getChildNodes();
for(int j=0;j<list2.getLength();j++){
Node node=(Node)list2.item(j);
if(node instanceof Element){
String s=element.getElementsByTagName(node.getNodeName()).item(0).getFirstChild().getNodeValue();
System.out.println(node.getNodeName()+":"+s);
}
}
System.out.println();
}
}
}
总结:
两种方法和有裨益,前者碰到文件大数据量多的xml难以下手
后者读取量较大,全局分析。
读者按需索取