JavaSE Dom4J

简介: JavaSE Dom4J

XML 解析就是从 XML 中获取到数据,DOM 是解析思想

DOM(Document Object Model):文档对象模型,把文档的各个组成部分看做成对应的对象,把 XML 文件全部加载到内存,在内存中形成一个树形结构,再获取对应的值

Dom4J 实现:

  • Dom4J 解析器构造方法:SAXReader saxReader = new SAXReader()
  • SAXReader 常用 API:
  • public Document read(File file):Reads a Document from the given File
  • public Document read(InputStream in):Reads a Document from the given stream using SAX
  • Java Class 类 API:
  • public InputStream getResourceAsStream(String path):加载文件成为一个字节输入流返回

子元素

Element 元素的 API:

  • String getName():取元素的名称。
  • List elements():获取当前元素下的全部子元素(一级)
  • List elements(String name):获取当前元素下的指定名称的全部子元素(一级)
  • Element element(String name):获取当前元素下的指定名称的某个子元素,默认取第一个(一级)

属性

Element 元素的 API:

  • List attributes():获取元素的全部属性对象
  • Attribute attribute(String name):根据名称获取某个元素的属性对象
  • String attributeValue(String var):直接获取某个元素的某个属性名称的值

Attribute 对象的 API:

  • String getName():获取属性名称
  • String getValue():获取属性值
 public class Dom4JDemo {
     public static void main(String[] args) throws Exception {
         SAXReader saxReader = new SAXReader();
         Document document = saxReader.read(new File("Demo/src/books.xml"));
         Element root = document.getRootElement();
         // 4.获取book子元素
         Element bookEle = root.element("book");
 ​
         // 5.获取book元素的全部属性对象
         List<Attribute> attributes = bookEle.attributes();
         for (Attribute attribute : attributes) {
             System.out.println(attribute.getName()+"->"+attribute.getValue());
         }
 ​
         // 6.获取Book元素的某个属性对象
         Attribute descAttr = bookEle.attribute("desc");
         System.out.println(descAttr.getName()+"->"+descAttr.getValue());
 ​
         // 7.可以直接获取元素的属性值
         System.out.println(bookEle.attributeValue("id"));
         System.out.println(bookEle.attributeValue("desc"));
     }
 }

文本

Element:

  • String elementText(String name):可以直接获取当前元素的子元素的文本内容
  • String elementTextTrim(String name):去前后空格,直接获取当前元素的子元素的文本内容
  • String getText():直接获取当前元素的文本内容
  • String getTextTrim():去前后空格,直接获取当前元素的文本内容
目录
相关文章
|
8月前
|
JavaScript Java
JavaSE精选-JS&DOM
JavaSE精选-JS&DOM
50 1
|
3月前
|
XML JavaScript 数据格式
XML DOM 遍历节点树
XML DOM 遍历节点树
|
3月前
|
JavaScript
DOM 节点列表长度(Node List Length)
DOM 节点列表长度(Node List Length)
|
3月前
|
JavaScript
HTML DOM 节点树
HTML DOM 节点是指在 HTML 文档对象模型中,文档中的所有内容都被视为节点。整个文档是一个文档节点,每个 HTML 元素是元素节点,元素内的文本是文本节点,属性是属性节点,注释是注释节点。DOM 将文档表示为节点树,节点之间有父子和同胞关系。
|
3月前
|
JavaScript
HTML DOM 节点
HTML DOM(文档对象模型)将HTML文档视为节点树,其中每个部分都是节点:文档本身是文档节点,HTML元素是元素节点,元素内的文本是文本节点,属性是属性节点,注释是注释节点。节点间存在父子及同胞关系,形成层次结构。
|
3月前
|
XML JavaScript 数据格式
XML DOM 遍历节点树
XML DOM 遍历节点树
|
3月前
|
JavaScript
DOM 节点列表长度(Node List Length)
DOM 节点列表长度(Node List Length)
|
3月前
|
JavaScript
DOM 节点列表长度(Node List Length)
DOM 节点列表长度(Node List Length)
|
3月前
|
JavaScript
DOM 节点列表长度(Node List Length)
DOM 节点列表长度(Node List Length)
|
3月前
|
JavaScript
DOM 节点列表长度(Node List Length)
DOM 节点列表长度(Node List Length)