收录于
查看 3832 次
递归获取每个标签
package test; import java.io.File; import java.util.List; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.io.SAXReader; public class test { public static void main(String[] args) { //1.获取dom4j解析对象 SAXReader reader = new SAXReader(); //2.获取要解析的xml文件 try { Document document = reader.read(new File("./src/student.xml")); //3.获取根标签 Element rootElement = document.getRootElement(); getEachElement(rootElement); } catch (DocumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void getEachElement(Element element) { System.out.println(element.getName()); List<Element> elements = element.elements(); if (elements!=null) { for (Element element2 : elements) { getEachElement(element2); } } } }
运行结果
获取标签属性
方法一:(foreach遍历)
1 List<Element> elements = rootElement.elements(); 2 for (Element element :elements) { 3 String id = element.attributeValue("id"); 4 String message = element.attributeValue("message"); 5 System.out.println(id+" "+message); 6 }
方法二:(迭代器获取)
1 List<Element> elements = rootElement.elements(); 2 for (Element element :elements) { 3 4 Iterator attributeIterator = element.attributeIterator(); 5 while (attributeIterator.hasNext()) { 6 Attribute attribute = (Attribute)attributeIterator.next(); 7 8 String name = attribute.getName(); 9 String value = attribute.getValue(); 10 11 System.out.println(name+" "+value); 12 13 } 14 15 }
把XML写在本地文件
1 Document docuement = reader.read(new File("./src/student.xml")); 2 FileOutputStream fileOutputStream = new FileOutputStream("C:\\message.xml"); 3 4 OutputFormat outputFormat = OutputFormat.createPrettyPrint(); 5 XMLWriter xmlWriter = new XMLWriter(fileOutputStream,outputFormat); 6 outputFormat.setEncoding("utf-8"); 7 xmlWriter.write(docuement); 8 fileOutputStream.close(); 9 xmlWriter.close();
标签智能推荐:
Java中使用DOM4J来生成xml文件和解析xml文件
Trace();}}四、解析xml文件解析xml的文件就是刚刚导出的那个样子,我们展示两种情况,一个是知道属性名字和子元素名字的我们把解析的xml文件数据放到实体类中.不知道的就直接打印到控制台.实体类展示importlombok.Data;@DatapublicclassStudent{privateintid;privateStringname;privateintage;}解析xml文件方法
[从产品角度学EXCEL 02]-EXCEL里的树形结构
看excel解压缩以后的xml文件。让我们随意打开一个xml文件,一串串密密麻麻的字符就这样跳了出来。对于不熟悉xml架构的人来说,我们只会看到眼花缭乱的括号,等号,引号。但是如果你对xml有点理解,你就会知道,这一系列的标点符号框起了一个个xml的数据结构。对于xml来说,每一个层级都是由<标签属性=ABC>内容信息</标签>构成的。有的内容信息里又会再次嵌套一层标签层级
java-jaxb学习实践
本篇博客为学习笔记。通过学习网上博客总结而作,文字描述部分是总结,代码部分经过学习修改,运行通过。1.什么是JAXBJAXB,是JavaEE的规范,全称JavaArchitectureforXMLBinding。它是一种可以根据XMLSchema产生Java类的技术,JAXB也提供将XML实例文档反向生成java对象树的方法,并将java对象树的内容重新写入XML实例文档。1.1java对象与xm
C# XML基础入门(XML文件内容增删改查清)
式是XML。由于工作多年只有之前在医疗行业的时候有接触过少量数据格式是XML的接口,之后就几乎没有接触过了。因此对于XML这块自己感觉还是有很多盲点和不足的,所以自己通过一些网上的资料总结了一下XML相关知识点。什么是XML?XML是一种可扩展标记语言(EXtensibleMarkupLanguage)。XML是一种很像HTML的标记语言。XML的设计宗旨是传输数据,而不是显示数据。XML标签没有
Java中使用dom4j解析xml文档
前段时间学习了XML(ExtensibleMarkupLanguage)可扩展标记语言后了解到了XML被设计为具有自我描述性,它的设计宗旨是传输数据,而不是显示数据那如果我们想要获取到XML的数据内容应该怎么办呢?于是我最近学习到了可以使用dom4j来解析XML文档并获取其中的数据那么什么是dom4j呢?简单来说:dom4j是一个Java的XMLAPI,是jdom的升级品,用来读写XML文件的。d
XML学习笔记
,不会解析xml]]>XML解析技术xml是可扩展的标记语言。不管是html文件还是xml文件它们都是标记型文档,都可以使用w3c组织制定的dom技术来解析document对象表示的是整个文档(可以是html文档,也可以是xml文档)早期JDK为我们提供了两种xml解析技术DOM和Sax简介(已经过时,但我们需要知道这两种技术)dom解析技术是W3C组织制定的,而所有的编程语言都对这个解析技
BASH:Find files with multiple suffixes
find/-typef|egrep"\.(java|xml)$"find/-typef-name"*.js"-o-name"*.xml"
MyBatis的解析和运行原理
close()关闭会话请说说MyBatis的工作原理在学习MyBatis程序之前,需要了解一下MyBatis工作原理,以便于理解程序。MyBatis的工作原理如下图1)读取MyBatis配置文件:mybatis-config.xml为MyBatis的全局配置文件,配置了MyBatis的运行环境等信息,例如数据库连接信息。2)加载映射文件。映射文件即SQL映射文件,该文件中配置了操作数据库的SQL语
IDEA必备插件
FreeMyBatisplugin在使用MyBatis作为ORM框架时,通常是查询接口在Java代码中写,但是SQL语句却在XML文件中,需要查看接口对应的SQL语句时需要一层层跳转,操作起来非常不方便,FreeMyBatisplugin就可以实现Java接口与XML文件之间来回快速跳转的功能,大大提高了生产效率。从Java接口跳转xml文件SQL语句:从xml文件SQL语句跳转Java接口:
java使用Spire.Doc生成的word文件去除水印(头部的警告信息)
1.需求通过word模板和库表中数据动态生成word文档。word操作工具本身自带word转xml(直接另存为xml即可)。但是需求明确了,只能用word模板,也不允许用户手动从word转xml再上传。数据动态生成使用了freemark,freemark需要一个xml或flt文件,所以结合上边的不能传xml的需求,我将word模板使用Spire.Doc将word模板转xml,在使用freemark