反射和泛型基础

泛型类

在类定义的时候,在后面加上<E>,在下面的成员中(属性,方法)的E在用户对E赋值的时候就会变成相应的数据类型。
只在编译时有效

静态泛型方法

public static <T> T show(T t){
    return t;
}

dom4j

优点:
1.将xml元素封装成对象使用

缺点:
1.速度相对于sax慢
2.可能出现内存溢出情况

使用

-导包
-创建SAXReader对象
-通过SAXReader对象得到所有节点
-得到根节点
-得到子节点集合遍历

解析XML

        SAXReader reader = new SAXReader();
        Document doc = reader.read("book.xml");
        Element ele = doc.getRootElement();
        List<Element> elements = ele.elements();
        for (Element element : elements) {
            List<Element> elements2 = element.elements();
            for (Element element3 : elements2) {
                System.out.println(element3.getName()+":"+element3.getStringValue());
            }
        }

将文件写入XML

    public static void main(String[] args) throws IOException {
        File file = new File("book2.xml");
        Document doc = DocumentHelper.createDocument();
        Element root = doc.addElement("books");
        Element book = root.addElement("book");
        Element title = book.addElement("title");
        title.setText("磊少自传");  
        write(file,doc);    
    }
  public static void write(File file,Document doc){
                                           //封装写入文件的方法
    OutputFormat of = OutputFormat.createPrettyPrint();
        of.setEncoding("GBK");
        XMLWriter writer = new XMLWriter(new FileWriter(file), of);
        writer.write(doc);
        writer.flush();
        writer.close();
  }

删除XML文件

     public static void main(String[] args) throws DocumentException, IOException {
        SAXReader reader = new SAXReader();
        Document doc = reader.read("book.xml");//解析xml文件得到所有文件的元素
        Element books = doc.getRootElement();//得到根节点
        List<Element> elements = books.elements();//得到所有子节点
        for (Element element : elements) {
            Attribute attribute = element.attribute("id");//得到子节点
            if(attribute.getText().equals("1")){
                books.remove(element);//通过根节点删除子节点
            }
        }
        File file=new File("book.xml");
        Demo2.write(file, doc);
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,742评论 18 399
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,845评论 18 139
  • 1. XML总结 1.1. XML简介 XML : 可扩展的标记语言。(和HTML非常类似的) 可扩展的。 自定义...
    Ethan_Walker阅读 3,100评论 0 12
  • 在《欢乐颂》五美中,最让人同情的应该就是樊胜美了,但是她也有可能是最让人厌恶的了。在职场上,可以说是职场“万金油”...
    语见生活阅读 4,999评论 1 0
  • 上午写了两篇文章,各自有2000字左右。 下午忙着对付晚上的坚持星球在线视频演讲决赛&GALA30天闭营仪式。最后...
    世界记忆大师程程阅读 387评论 0 0