xml

作者: 无聊新生 | 来源:发表于2017-08-21 19:12 被阅读0次

    dom

    解析xml文件

        SAXReader reader=new SAXReader();
        Document doc=reader.read("book.xml");
    

    获取根节点

      Element root = doc.getRootElement();
    

    遍历

     List<Element> list=root.elements();//获取所有的子节点
        for (Element ele : list) {      
            List<Element> child = ele.elements();
            for (Element element : child) {
                element.getName();//获取标签的名称
                element.getText();//获取标签的内容
                element.getNodeType();//获取标签的类型 1 代表元素类型  3 代表文本类型
            }
        }
    

    Element ele=root.elementByID("1001");//根据ID快速获取指定的元素
    
    Element pwd=ele.element("标签名");//获取指定标签名的元素
    

    保存

    OutputFormat format=OutputFormat.createPrettyPrint();//创建一个漂亮的格式
    XMLWriter writer=new XMLWriter(new FileOutputStream("book.xml"),format);
    writer.write(doc);//将doc对象写入的xml文件中
    

    添加

    Element root=doc.getRootElement();
    Element author=root.addElement("book");//添加一个book的子元素
    

    删除

    Element root=doc.getRootElement();
    Element ele=doc.elementByID("b2");
    root.remove(ele);//删除指定的子节点,需要通过父节点来删除  
    ele.detach();//删除所有的子节点,可以自己删除自己
    

    修改

    Element book=root.elementByID("b1");
    Element name=book.element("name");
    name.setText("西游记");
    

    XPath

    使用XPath对xml文件的元素进行导航 首先需要导包:jaxen.jar

    Node password=doc.selectSingleNode("//user[3]/aa/password");//选出单个节点
    
    List<Node> list=doc.selectNodes("//user");//选出多个节点
    for (Node node : list) {
        System.out.println(node.getName());
    }
    

    相关文章

      网友评论

          本文标题:xml

          本文链接:https://www.haomeiwen.com/subject/iwehdxtx.html