zoukankan      html  css  js  c++  java
  • 如何用Dome4j(2.2.1)创建Xml

    XML解析器常见的有两种:

    1.SAX解析器,用于xml的简单API

    2.DOM解析器,文档对象模型

    DOM就是利用对象来把文本模型化,但是模型实现有以下几个基本的点:

    1. 用来表示、操作文档的接口

    2.接口行为、属性

    3.接口之间的关系和互属性

    在DOM接口中有四个基本接口:Document、Node、NodeList、NamedNodeMap

    Node对象:DOM中最基本的对象

    Document对象:代表整个XML文档

    NodeList对象包含一个或者是多个Node的列表

    Element对象代表xml文档中的标签元素

    创建xml

    复制代码
    /创建xml的方法
    public static void createxml() throws Exception{
    DocumentBuilderFactory  dbf=DocumentBuilderFactory.newInstance();
    DocumentBuilder db=dbf.newDocumentBuilder(); 
    Document document= db.newDocument();
    //创建一个bookstore节点
     Element  bookstore=document.createElement("bookstore");
    Element book=document.createElement("book");
    Element book1=document.createElement("book");
    //创建一个name节点并添加在book下
    Element  name= document.createElement("name");
    Element  author= document.createElement("author");
    Element  name1= document.createElement("name");
    Element  author1= document.createElement("author");
    
        book.appendChild(name);
        book.appendChild(author);
        book1.appendChild(name1);
           book1.appendChild(author1);
        //添加文本到name节点
        name.setTextContent("张三");
    author.setTextContent("李四");
    name1.setTextContent("王五");
    author1.setTextContent("黄六");
    //设置book属性名以及属性值
    book.setAttribute("id", "1"); 
    book1.setAttribute("id", "2");
    //向bookstore根节点中添加子节点
    bookstore.appendChild(book); 
    bookstore.appendChild(book1);
    //添加跟节点
    document.appendChild(bookstore); 
    //树的结构已经生成,接下来生成xml文件
    //前几步都是一定的
    TransformerFactory  tft= TransformerFactory.newInstance();
       Transformer   tf= tft.newTransformer();
       tf.setOutputProperty(OutputKeys.INDENT, "yes");
       //创建新的xml文件并导入document
    tf.transform(new DOMSource(document), new StreamResult(new File("book1.xml")));  
    } 
  • 相关阅读:
    第2章 类模板:2.3 类模板的局部使用
    第2章 类模板:2.2 类模板Stack的使用
    第2章 类模板:2.1 类模板Stack的实现
    第1章 函数模板:1.6 但是,我们不应该…?
    第1章 函数模板:1.5 重载函数模板
    第1章 函数模板:1.4 默认模板参数
    第1章 函数模板:1.3 多模板参数
    第1章 函数模板:1.2 模板参数的推导
    第1章 函数模板:1.1 初识函数模板
    第31课 std::atomic原子变量
  • 原文地址:https://www.cnblogs.com/IDIDIDIDID/p/10936260.html
Copyright © 2011-2022 走看看