美文网首页
JAVA XML文件读取

JAVA XML文件读取

作者: 东先生丶 | 来源:发表于2018-09-09 23:47 被阅读14次

    简介

    可扩展标记语言,简称XML(Extensible Markup Language),是一种标记语言。标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的文章等。如何定义这些标记,既可以选择国际通用的标记语言,比如HTML,也可以使用像XML这样由相关人士自由决定的标记语言,这就是语言的可扩展性。XML是从标准通用标记语言(SGML)中简化修改出来的。它主要用到的有可扩展标记语言、可扩展样式语言(XSL)、XBRL和XPath等。

    xml文件读取一般有4种

    DOM

    SAX

    JDOM

    DOM4J

    DOM4J

    需要导包 dom4j-1.6.1.jar https://sourceforge.net/projects/dom4j/files/

    package dom4j;
    
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.OutputStream;
    
    import org.dom4j.Document;
    import org.dom4j.DocumentHelper;
    import org.dom4j.Element;
    import org.dom4j.io.XMLWriter;
    
    public class Dom4jCreateXml {
        public static void main(String[] args) throws  Exception {
            //得到文档对象
            Document d = DocumentHelper.createDocument();
            //添加根节点
            Element root = d.addElement("users");
            
            for(int i=1;i<=3;i++){
            //创建子节点
            Element user = root.addElement("user");
            user.addAttribute("id", ""+i);
            //创建二级子节点
            Element name = user.addElement("name");
            name.setText("张三"+i);
            
            //创建二级子节点
            Element sex = user.addElement("sex");
            sex.setText("男");
            
        }
            //写文件
            OutputStream os = new FileOutputStream("e:/AA.xml");
            XMLWriter write = new XMLWriter(os);
            write.write(d);
            write.close();
        }
    }
    
    package dom4j;
    
    import java.io.FileOutputStream;
    import java.io.OutputStream;
    import java.util.List;
    
    import org.dom4j.Document;
    import org.dom4j.Element;
    import org.dom4j.io.SAXReader;
    import org.dom4j.io.XMLWriter;
    
    public class Dom4jModifyXml {
    
    public static void main(String[] args) throws Exception {
            //先读取
            SAXReader reader = new SAXReader();
            Document d = reader.read("F:/AA.xml");
            Element root = d.getRootElement();
            System.out.println(root.getName());
            
            List<Element> list = root.elements();
             //修改
            for (Element e : list) {
                System.out.println(e.getName());
                Element name = e.element("name");
                 
                Element sex = e.element("sex");
                //移除
                sex.getParent().remove(sex); 
            } 
             
            //保存到文件
            OutputStream os = new FileOutputStream("F:/AA.xml");
            XMLWriter write = new XMLWriter(os);
            write.write(d);
            write.close();
        }
    }
    
    
    package dom4j;
    
    import java.util.List;
    
    import org.dom4j.Document;
    import org.dom4j.DocumentException;
    import org.dom4j.Element;
    import org.dom4j.io.SAXReader;
    
    public class Dom4jParseXml {
        public static void main(String[] args) throws Exception {
            
            SAXReader reader = new SAXReader();
            Document d = reader.read("F:/AA.xml");
            Element root = d.getRootElement();
            System.out.println(root.getName());
            
            List<Element> list = root.elements();
             
            for (Element e : list) {
                System.out.println(e.getName());
                Element name = e.element("name");
                System.out.println("name--"+name.getData());
                Element sex = e.element("sex");
                System.out.println("sex--"+sex.getData());
            }
        }
    }
    

    未完。。。

    相关文章

      网友评论

          本文标题:JAVA XML文件读取

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