zoukankan      html  css  js  c++  java
  • 使用JDOM解析xml文档

    一、使用JDOOM解析xml文档

    准备工作

    1.下载JDOM.jar 包

    解析代码如下

    import org.jdom2.Attribute;
    import org.jdom2.Document;
    import org.jdom2.Element;
    import org.jdom2.input.SAXBuilder;
    
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.List;
    
    
    public class Main {
    
        public static void main(String[] args) throws Exception {
    
            //创建一个解析器
            SAXBuilder builder=new SAXBuilder();
    
            //创建一个文件输入流
            InputStream in=new FileInputStream("src/server.xml");
    
            //将流加载到解析器中。
            Document document=builder.build(in);
    
            //获取文档的根节点
            Element rootElement=document.getRootElement();
    
            //将根节点的所有子节点获取放到一个集合中
            List<Element> list=rootElement.getChildren();
    
            //循环遍历所有子节点
            for(Element element:list){
                System.out.println("开始遍历第"+(list.indexOf(element)+1)+"本书======");
    
                //获取所有的属性并遍历输出
                List<Attribute> list1=element.getAttributes();
                for(Attribute attr:list1){
                    System.out.println("属性名是"+attr.getName());
                    System.out.println("属性值是"+attr.getValue());
                }
                System.out.println("结束遍历第"+(list.indexOf(element)+1)+"本书======");
            }
        }
    }

    二、使用DOM4J解析xml文档

    准备工作:

    1.下载导入DOM4J的jar包,代码如下:

    import org.dom4j.Attribute;
    import org.dom4j.Document;
    import org.dom4j.Element;
    import org.dom4j.io.SAXReader;
    
    import java.io.File;
    import java.util.Iterator;
    import java.util.List;
    
    
    public class Main {
    
        public static void main(String[] args) throws Exception {
    
            //创建一个解析器
            SAXReader saxReader=new SAXReader();
    
            //加载文档到dom中,注意是dom4j中的dom
            Document document=saxReader.read(new File("src/server.xml"));
    
            //获取文档的根节点
            Element bookStore=document.getRootElement();
    
            //获取根节点的迭代器
            Iterator iter=bookStore.elementIterator();
    
            //迭代根节点下面的子节点
            while(iter.hasNext()){
                System.out.println("开始遍历谋一本书=========");
                Element book=(Element)iter.next();
    
                //获取节点的属性集合
                List<Attribute> bookAttr=book.attributes();
    
                //遍历属性集合
                for(Attribute attr:bookAttr){
                    System.out.println("属性名:"+attr.getName()+"====属性值:"+attr.getValue());
                }
    
                //获取子节点book的子节点迭代器
                Iterator iterator=book.elementIterator();
                while(iterator.hasNext()){
                    Element child=(Element)iterator.next();
                    System.out.println("节点名:"+child.getName()+"==节点值:"+child.getStringValue());
                }
                System.out.println("结束遍历谋一本书=========");
            }
        }
    }
  • 相关阅读:
    【python】绘图,颜色,线型
    【python】绘图,画虚线
    【python】绘图坐标轴标题中包含上标或下标
    【python】python3.7与3.9共存,两个3版本同时存在(平时用vscode敲代码)pip复制
    【python】 matplotlib 画图刻度、图例等字体、字体大小、刻度密度、线条样式设置
    Charles乱码问题
    charles的设置断点
    Charles的设置手机抓包
    ajax
    java jdbc连接mysql数据库实现增删改查操作
  • 原文地址:https://www.cnblogs.com/xiaoao/p/9633225.html
Copyright © 2011-2022 走看看