为了账号安全,请及时绑定邮箱和手机立即绑定

通过 DOM 方式生成 XML 文档课后练习

标签:
Java 测试

在课程源代码上修改既可。可以看到生成xml的流程:创建节点名(.createElement),传入节点值(.setTextContent),将子节点添加到根节点(.appendChild)

   /**
     * 生成xml
     */
    public void createXML() {
        DocumentBuilder db = getDocumentBuilder();
        Document document = db.newDocument();
        document.setXmlStandalone(true);
        Element bookstore = document.createElement("bookStore");

        // 向bookstore根节点添加子节点book,第一本书
        Element book = document.createElement("book");
        Element name = document.createElement("name");
        Element author = document.createElement("author");
        Element year = document.createElement("year");
        Element price = document.createElement("price");
        name.setTextContent("冰与火之歌");
        author.setTextContent("乔治马丁");
        year.setTextContent("2014");
        price.setTextContent("89");
        book.appendChild(name);
        book.appendChild(author);
        book.appendChild(year);
        book.appendChild(price);
        book.setAttribute("id", "1");
        // 将第一本书book节点加到bookstore根节点
        bookstore.appendChild(book);

        // 向bookstore根节点添加子节点book,第二本书
        Element book1 = document.createElement("book");
        Element name1 = document.createElement("name");
        Element author1 = document.createElement("author");
        Element year1 = document.createElement("year");
        Element price1 = document.createElement("price");
        Element language = document.createElement("language");
        name1.setTextContent("安徒生童话");
        author1.setTextContent("安徒生");
        year1.setTextContent("2004");
        price1.setTextContent("77");
        language.setTextContent("English");
        book1.appendChild(name1);
        book1.appendChild(author1);
        book1.appendChild(year1);
        book1.appendChild(price1);
        book1.appendChild(language);
        book1.setAttribute("id", "2");
        // 将第二本书book节点加到bookstore根节点
        bookstore.appendChild(book1);

        // 将bookstore节点(已包含book节点)添加到dom树中
        document.appendChild(bookstore);

        // 创建TransformerFactory对象
        TransformerFactory tff = TransformerFactory.newInstance();
        try {
            // 创建Transformer对象
            Transformer tf = tff.newTransformer();
            tf.setOutputProperty(OutputKeys.INDENT, "yes");
            tf.transform(new DOMSource(document), new StreamResult(new File("books1.xml")));
        } catch (TransformerConfigurationException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (TransformerException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消