1. 获取 信息
/*** 获取 信息* @param filename 文件相对路径*/public static Document load(String filename) { Document document = null; try { SAXReader saxReader = new SAXReader(); //使用spring的文件读取方法:org.spring work.core.io.Resource Resource resource = new ClassPathResource(filename); document = saxReader.read(resource.getFile()); // 读取 文件,获得document对象 } catch (Exception ex) { ex.printStackTrace(); } return document;}reader的read方法是重载的,可以从InputStream, File, Url等多种不同的源来读取。得到的Document对象就代表了整个 。
读取的字符编码是按照 文件头定义的编码来转换。如果遇到乱码问题,注意要把各处的编码名称保持一致即可
获取根节点
root元素是 文档的根节点。一切 分析都是从Root元素开始的
#获取 文档 Document document = load("conf/test. ");#获取 的根节点Element root = document.getRootElement();2. 常用到的方法
#获得根元素下的所有子节点。 List<Element> elementList=root.elements();#获得element节点的名字 String elementName=element.getName();#获得element节点的文本节点值 String elementValue=element.getText(); #获得element节点的属性 Attribute attribute=element.attribute();#获得属性值String attrValue=element.attributeValue("attrName");3. 遍历
节点的遍历有如下方式:
//方式一: 枚举所有子节点 for ( Iterator i = root.elementIterator(); i.hasNext(); ) { Element element = (Element) i.next(); //TODO 获取相关节点信息和操作}//方式二: 枚举名称为foo的节点 for ( Iterator i = root.elementIterator(foo); i.hasNext();) { Element foo = (Element) i.next(); //TODO 获取相关节点信息和操作 }//方式三 枚举属性for ( Iterator i = root.attributeIterator(); i.hasNext(); ) { Attribute attribute = (Attribute) i.next(); //TODO 获取相关节点信息和操作 }//方式四: 循环遍历子节点 List<Element> elementList=root.elements();for(int i=0;i<elementList.size(); i++){ Element element = (Element) elementList.get(i); //TODO 获取相关节点信息和操作 //子节点遍历 List elementRoot = element.elements(); //判断是否存在子节点 if(null!=elementRoot && elementRoot.size()>0){ //递归调用此方法 //TODO 相关操作 } } 继续阅读与本文标签相同的文章
-
大数据之什么是Hash表
2026-05-17栏目: 教程
-
最近越来越多的人发现4G网速变慢了,这是为什么?原因可能是这几点
2026-05-17栏目: 教程
-
蚂蚁金服总裁胡晓明:科技如何驱动金融从离线走向在线 | 9月27号栖夜读
2026-05-17栏目: 教程
-
“小程序,大生态”:云栖大会阿里巴巴小程序生态联盟成立
2026-05-17栏目: 教程
-
阿里云代码管理平台 Teambition Codeup(行云)亮相,为企业代码安全护航
2026-05-17栏目: 教程
