• 使用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("结束遍历谋一本书=========");
            }
        }
    }
  • 相关阅读:
    树莓派更新失败【sudo rpi-update】
    树莓派连接显示器没反应
    Linux命令
    Ansys Fluent报错:an error or interrupt occurred while reading the journal file
    Ansys Fluent从cmd命令行中打开后无法编译UDF【解决】
    Ansys Fluent中动网格运动时,网格被挤压和拉伸,不能及时重画网格而报错【解决】
    ANSYS Fluent中动网格里Event(事件)选项为灰色不可选【解决】
    ANSYS ICEM导入step模型报错【解决】
    win10关闭任务栏程序最近显示
    MATLAB %% 不分节
  • 原文地址:https://www.cnblogs.com/xiaoao/p/9633225.html
Copyright © 2020-2023  润新知