首页 > 程序开发 > web前端 > JavaScript >

JavaScript之XML

2017-09-08

JavaScript之XML。什么是XML?XML(EXtensible Markup Language) 指的是可扩展标记语言。 XML的设计宗旨是传输数据,而并非是显示数据。 XML标签系统没有预定义,需要自己定义。 XML被设计为具有自我描述性。

什么是XML

XML(EXtensible Markup Language) 指的是可扩展标记语言。 XML的设计宗旨是传输数据,而并非是显示数据。 XML标签系统没有预定义,需要自己定义。 XML被设计为具有自我描述性。

XML和Html的区别

XML被设计为传输数据和存储数据,其焦点是数据的内容。 HTML被设计为数据的显示,其焦点是数据的如何显示和数据的外观。

XML的作用

XML的作用图

常见的XML解析方式

SAX DOM PULL DOM4J

XML树结构

XML树结构

举例:读取和写入XML中的学生信息

1、student.xml



    
        张三
        12
    

2、读取XML中的学生信息,并显示在控制台上

public static void main(String[] args) throws DocumentException {
        //获取SAXReader实例
        SAXReader reader = new SAXReader();
        //获取xml文件
        File file = new File("xml/students.xml");
        //获取文档对象
        Document doc = reader.read(file);
        //获取根节点
        Element root = doc.getRootElement();
        //获取全部子节点
        List list = root.elements();
        //遍历所有的子节点
        for (Element ele : list) {
            String id = ele.attributeValue("id");
            String sname = ele.elementTextTrim("sname");
            String sage = ele.elementTextTrim("sage");
            System.out.println(id+","+sname+","+sage);
        }
    }

3、写入学生信息到XML文件中

public static void main(String[] args) {
        //通过documentHelper创建一个document对象
        Document doc = DocumentHelper.createDocument();
        //通过documentHelper创建一个根节点
        Element root = DocumentHelper.createElement("students");
        //将根节点添加到文档对象doc中
        doc.setRootElement(root);
        //根据用户需求创建不同的子节点
        Element ele = root.addElement("student");
        //给子节点设置属性
        ele.addAttribute("id", "1");
        //给student节点添加子节点
        Element sname = ele.addElement("sname");
        sname.setText("张三");
        Element sage = ele.addElement("sage");
        sage.setText("12");

        //将文档对象写入xml文件中
        File file = new File("xml/students.xml");
        FileOutputStream out = null;
        XMLWriter writer = null;
        //文档格式化
        OutputFormat format = null;
        //第一个参数代表缩进,第二个参数代表是否换行
        format = new OutputFormat("\t", true);

        try {
            out = new FileOutputStream(file);
            writer = new XMLWriter(out, format);
            writer.write(doc);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally{
            try {
                writer.close();
                out.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

        }
    }
相关文章
最新文章
热点推荐