第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

Java眼中的XML 文件寫(xiě)入

難度初級(jí)
時(shí)長(zhǎng) 2小時(shí) 0分
學(xué)習(xí)人數(shù)
綜合評(píng)分9.67
227人評(píng)價(jià) 查看評(píng)價(jià)
9.8 內(nèi)容實(shí)用
9.7 簡(jiǎn)潔易懂
9.5 邏輯清晰
  • package?com.imooc.xmlTest;
    
    import?org.dom4j.DocumentHelper;
    import?org.dom4j.io.OutputFormat;
    import?org.dom4j.io.XMLWriter;
    import?org.jdom2.output.Format;
    import?org.jdom2.output.XMLOutputter;
    import?org.testng.annotations.Test;
    import?org.w3c.dom.Document;
    import?org.w3c.dom.Element;
    import?org.xml.sax.SAXException;
    import?org.xml.sax.helpers.AttributesImpl;
    
    import?javax.xml.parsers.DocumentBuilder;
    import?javax.xml.parsers.DocumentBuilderFactory;
    import?javax.xml.parsers.ParserConfigurationException;
    import?javax.xml.transform.OutputKeys;
    import?javax.xml.transform.Result;
    import?javax.xml.transform.Transformer;
    import?javax.xml.transform.TransformerConfigurationException;
    import?javax.xml.transform.TransformerException;
    import?javax.xml.transform.TransformerFactory;
    import?javax.xml.transform.dom.DOMSource;
    import?javax.xml.transform.sax.SAXTransformerFactory;
    import?javax.xml.transform.sax.TransformerHandler;
    import?javax.xml.transform.stream.StreamResult;
    import?java.io.File;
    import?java.io.FileOutputStream;
    import?java.io.IOException;
    
    public?class?JUnitTest1?{
    
    ???public?void?DOMCreateXML()?throws?ParserConfigurationException,?TransformerException?{
    ???????DocumentBuilderFactory?dbf=DocumentBuilderFactory.newInstance();
    ???????DocumentBuilder?db=dbf.newDocumentBuilder();
    ???????Document?document=db.newDocument();
    ???????document.setXmlStandalone(true);
    ???????Element?bookstore=document.createElement("bookstore");
    ???????Element?book=document.createElement("book");
    ???????book.setAttribute("id","1");
    ???????Element?name=document.createElement("name");
    ???????name.setTextContent("小王子");
    ???????book.appendChild(name);
    ???????bookstore.appendChild(book);
    ???????document.appendChild(bookstore);
    ???????TransformerFactory?tff=TransformerFactory.newInstance();
    ???????Transformer?tf=tff.newTransformer();
    ???????tf.setOutputProperty(OutputKeys.INDENT,"yes");
    ???????tf.transform(new?DOMSource(document),new?StreamResult(new?File("demo2/books.xml")));
    ???}
    ???public?void?SAXCreateXML()?throws?ParserConfigurationException,?IOException,?SAXException,?TransformerConfigurationException?{
    ???????SAXTransformerFactory?tff=(SAXTransformerFactory)SAXTransformerFactory.newInstance();
    ???????TransformerHandler?handler=tff.newTransformerHandler();
    ???????Transformer?tf=handler.getTransformer();
    ???????tf.setOutputProperty(OutputKeys.ENCODING,"UTF-8");
    ???????tf.setOutputProperty(OutputKeys.INDENT,"yes");
    ???????Result?result=new?StreamResult(new?FileOutputStream(new?File("demo2/books1.xml")));
    ???????handler.setResult(result);
    ???????handler.startDocument();
    ???????AttributesImpl?attr=new?AttributesImpl();
    ???????handler.startElement("","","bookstore",attr);
    ???????????attr.clear();
    ???????????attr.addAttribute("","","id","","1");
    ???????????handler.startElement("","","book",attr);
    ???????????attr.clear();
    ???????????handler.startElement("","","name",attr);
    ???????????String?name="小王子";
    ???????????handler.characters(name.toCharArray(),0,name.length());
    ???????????handler.endElement("","","name");
    ???????????handler.endElement("","","book");
    ???????????handler.endElement("","","bookstore");
    ???????????handler.endDocument();
    ???}
    ???public?void?JDOMCreateXML()?throws?IOException?{
    ???????org.jdom2.Element?bookstore=new?org.jdom2.Element("bookstore");
    ???????org.jdom2.Document?document=new?org.jdom2.Document(bookstore);
    ???????org.jdom2.Element?book=new?org.jdom2.Element("book");
    ???????book.setAttribute("id","1");
    ???????org.jdom2.Element?name=new?org.jdom2.Element("name");
    ???????name.setText("小王子");
    ???????book.addContent(name);
    ???????bookstore.addContent(book);
    ???????Format?format=Format.getPrettyFormat();
    ???????format.setEncoding("gbk");
    ???????XMLOutputter?xmlOutputter=new?XMLOutputter(format);
    ???????xmlOutputter.output(document,new?FileOutputStream("demo2/books2.xml"));
    ???}
    ???public?void?DOM4JCreateXML()?throws?IOException?{
    ???????org.dom4j.Document?document=?DocumentHelper.createDocument();
    ???????org.dom4j.Element?bookstore=document.addElement("bookstore");
    ???????org.dom4j.Element?book=bookstore.addElement("book");
    ???????book.addAttribute("id","1");
    ???????org.dom4j.Element?name=book.addElement("name");
    ???????name.setText("小王子");
    ???????OutputFormat?outputFormat=OutputFormat.createPrettyPrint();
    ???????XMLWriter?xmlWriter=new?XMLWriter(new?FileOutputStream("demo2/books3.xml"),outputFormat);
    ???????xmlWriter.write(document);
    ???????xmlWriter.close();
    ???}
    ???@Test
    ???public?void?testPerformance()?throws?Exception{
    ???????System.out.println("性能測(cè)試:");
    ???????long?start=System.currentTimeMillis();
    ???????DOMCreateXML();
    ???????System.out.println("DOM:"+(System.currentTimeMillis()-start));
    ???????start=System.currentTimeMillis();
    ???????SAXCreateXML();
    ???????System.out.println("SAX:"+(System.currentTimeMillis()-start));
    ???????start=System.currentTimeMillis();
    ???????JDOMCreateXML();
    ???????System.out.println("JDOM:"+(System.currentTimeMillis()-start));
    ???????start=System.currentTimeMillis();
    ???????DOM4JCreateXML();
    ???????System.out.println("DOM4J:"+(System.currentTimeMillis()-start));
    ???}
    }

    SAX的測(cè)試結(jié)果為0,這是不是有問(wèn)題

    http://img1.sycdn.imooc.com//62248f03000137cf14300581.jpg

    查看全部
  • JDOM 設(shè)置 XML 格式
    format.setIndent("");//這樣寫(xiě)已經(jīng)默認(rèn)換行了,這里面不需要再寫(xiě)\n,否則就換兩行了。

    Element title = new Element("title");
    title.setContent(new CDATA("上海移動(dòng)互聯(lián)網(wǎng)產(chǎn)業(yè)促進(jìn)中心正式揭牌"));//設(shè)置轉(zhuǎn)義,默認(rèn)自帶CDATA標(biāo)簽

    查看全部
    0 采集 收起 來(lái)源:JDOM 設(shè)置 XML 格式

    2022-02-18

  • public void createXML() {
    ? ?ArrayList<Book> books = parserXML();
    ? ?//生成XML
    ? ?//1、創(chuàng)建一個(gè)TransformerFactory類的對(duì)象
    ? ?SAXTransformerFactory tff = (SAXTransformerFactory) SAXTransformerFactory.newInstance();
    ? ?try {
    ? ? ? ?//通過(guò)SAXTransformerFactory對(duì)象創(chuàng)建一個(gè)TransformerHandler對(duì)象
    ? ? ? ?TransformerHandler handler = tff.newTransformerHandler();
    ? ? ? ?//3、通過(guò)Handler對(duì)象創(chuàng)建一個(gè)Transformer對(duì)象
    ? ? ? ?Transformer tr = handler.getTransformer();
    ? ? ? ?//4、通過(guò)Transformer對(duì)象生成的xml文件進(jìn)行設(shè)置:設(shè)置xml的編碼;設(shè)置xml是否換行
    ? ? ? ?tr.setOutputProperty(OutputKeys.ENCODING, "utf-8");
    ? ? ? ?tr.setOutputProperty(OutputKeys.INDENT, "yes");
    ? ? ? ?//5、創(chuàng)建一個(gè)Result對(duì)象
    ? ? ? ?File file = new File("src/res/newbooks.xml");
    ? ? ? ?if (file.exists()) {
    ? ? ? ? ? ?file.createNewFile();
    ? ? ? ?}
    ? ? ? ?//創(chuàng)建Result對(duì)象,并且使其與handler關(guān)聯(lián)
    ? ? ? ?Result result = new StreamResult(new FileOutputStream(file));
    ? ? ? ?handler.setResult(result);
    ? ? ? ?//7、利用handler對(duì)象進(jìn)行xml文件內(nèi)容的編寫(xiě)
    ? ? ? ?//打開(kāi)document
    ? ? ? ?handler.startDocument();
    ? ? ? ?AttributesImpl attr = new AttributesImpl();
    ? ? ? ?handler.startElement("", "", "bookstore", attr);
    ? ? ? ?for (Book book : books) {
    ? ? ? ? ? ?attr.clear();
    ? ? ? ? ? ?attr.addAttribute("", "", "id", "", book.getId());
    ? ? ? ? ? ?handler.startElement("", "", "book", attr);
    ? ? ? ? ? ?//創(chuàng)建name節(jié)點(diǎn)
    ? ? ? ? ? ?if (book.getName() != null && !book.getName().trim().equals("")) {
    ? ? ? ? ? ? ? ?attr.clear();
    ? ? ? ? ? ? ? ?handler.startElement("", "", "name", attr);
    ? ? ? ? ? ? ? ?handler.characters(book.getName().toCharArray(), 0, book.getName().length());
    ? ? ? ? ? ? ? ?handler.endElement("", "", "name");
    ? ? ? ? ? ?}
    ? ? ? ? ? ?//創(chuàng)建year節(jié)點(diǎn)
    ? ? ? ? ? ?if (book.getYear() != null && !book.getYear().trim().equals("")) {
    ? ? ? ? ? ? ? ?attr.clear();
    ? ? ? ? ? ? ? ?handler.startElement("", "", "year", attr);
    ? ? ? ? ? ? ? ?handler.characters(book.getYear().toCharArray(), 0, book.getYear().length());
    ? ? ? ? ? ? ? ?handler.endElement("", "", "year");
    ? ? ? ? ? ?}
    ? ? ? ? ? ?//創(chuàng)建author節(jié)點(diǎn)
    ? ? ? ? ? ?if (book.getAuthor() != null && !book.getAuthor().trim().equals("")) {
    ? ? ? ? ? ? ? ?attr.clear();
    ? ? ? ? ? ? ? ?handler.startElement("", "", "author", attr);
    ? ? ? ? ? ? ? ?handler.characters(book.getAuthor().toCharArray(), 0, book.getAuthor().length());
    ? ? ? ? ? ? ? ?handler.endElement("", "", "author");
    ? ? ? ? ? ?}
    ? ? ? ? ? ?//創(chuàng)建price節(jié)點(diǎn)
    ? ? ? ? ? ?if (book.getPrice() != null && !book.getPrice().trim().equals("")) {
    ? ? ? ? ? ? ? ?attr.clear();
    ? ? ? ? ? ? ? ?handler.startElement("", "", "price", attr);
    ? ? ? ? ? ? ? ?handler.characters(book.getPrice().toCharArray(), 0, book.getPrice().length());
    ? ? ? ? ? ? ? ?handler.endElement("", "", "price");
    ? ? ? ? ? ?}
    ? ? ? ? ? ?//創(chuàng)建language節(jié)點(diǎn)
    ? ? ? ? ? ?if (book.getLanguage() != null && !book.getLanguage().trim().equals("")) {
    ? ? ? ? ? ? ? ?attr.clear();
    ? ? ? ? ? ? ? ?handler.startElement("", "", "language", attr);
    ? ? ? ? ? ? ? ?handler.characters(book.getLanguage().toCharArray(), 0, book.getLanguage().length());
    ? ? ? ? ? ? ? ?handler.endElement("", "", "language");
    ? ? ? ? ? ?}
    ? ? ? ? ? ?handler.endElement("", "", "book");
    ? ? ? ?}
    ? ? ? ?handler.endElement("", "", "bookstore");
    ? ? ? ?//關(guān)閉document
    ? ? ? ?handler.endDocument();
    ? ?} catch (TransformerConfigurationException e) {
    ? ? ? ?e.printStackTrace();
    ? ?} catch (FileNotFoundException e) {
    ? ? ? ?e.printStackTrace();
    ? ?} catch (IOException e) {
    ? ? ? ?e.printStackTrace();
    ? ?} catch (SAXException e) {
    ? ? ? ?e.printStackTrace();
    ? ?}
    }

    查看全部
  • 生成XML文件的四種方式:DOM,SAX,DOM4J、JDOM

    后兩種方法會(huì)生成一個(gè)全新形式的文件——RSS

    查看全部
    0 采集 收起 來(lái)源:課程簡(jiǎn)介

    2020-07-27

  • java xml 2
    查看全部
    0 采集 收起 來(lái)源:課程簡(jiǎn)介

    2019-12-12

  • 生成xml文件性能對(duì)比

    查看全部
  • 四種生成xml方式對(duì)比

    查看全部
  • 常用的節(jié)點(diǎn)類型

    查看全部
  • 生成xml性能對(duì)比

    http://img1.sycdn.imooc.com//5dd251010001b7b307510468.jpg


    查看全部
  • 四種生成xml方式對(duì)比

    DOM基于tree ,生成的DOM樹(shù)保存在內(nèi)存中,方便重新排列、刪除、修改

    SAX基于事件,生成后無(wú)法回頭修改

    JDOM、DOM4J基于底層API

    查看全部
  • JDOM設(shè)置XML格式

    http://img1.sycdn.imooc.com//5dd24bb40001a30c07930171.jpg

    查看全部
    0 采集 收起 來(lái)源:JDOM 設(shè)置 XML 格式

    2019-11-18

  • JDOM添加子節(jié)點(diǎn)及節(jié)點(diǎn)間文本

    http://img1.sycdn.imooc.com//5dd24abf0001c01607490220.jpg

    查看全部
  • JDOM生成XML根節(jié)點(diǎn)

    http://img1.sycdn.imooc.com//5dd249660001955b08940295.jpg

    查看全部
  • 處理轉(zhuǎn)義字符

    轉(zhuǎn)義代表< 、>符號(hào)在xml中進(jìn)行轉(zhuǎn)義為&lt;&gt;

    XMLWriter的setEscapeText(false) 設(shè)置是否轉(zhuǎn)義,默認(rèn)值true,代表轉(zhuǎn)義

    http://img1.sycdn.imooc.com//5dd2480b0001140606970265.jpg


    查看全部
    0 采集 收起 來(lái)源:處理轉(zhuǎn)義字符

    2019-11-18

  • 生成子節(jié)點(diǎn)和內(nèi)容并設(shè)置換行

    http://img1.sycdn.imooc.com//5dd246aa0001bc9f07230291.jpg

    查看全部
  • 生成RSS根節(jié)點(diǎn)以version屬性

    http://img1.sycdn.imooc.com//5dd2459e000118e207220385.jpg

    查看全部
  • RSS是用來(lái)描述和同步網(wǎng)站內(nèi)容的格式,本質(zhì)是xml

    查看全部
    0 采集 收起 來(lái)源:什么是 RSS

    2019-11-16

  • characters() 在xml標(biāo)簽之間添加文本,第一個(gè)參數(shù)是字符串的char數(shù)組,使用toCharArray()轉(zhuǎn)化,第二個(gè)參數(shù)是字符數(shù)組的起始位置,第二個(gè)參數(shù)是從起始位置開(kāi)始截取的長(zhǎng)度。

    注意:如果將setResult方法放在startDocument之后會(huì)報(bào)錯(cuò)。

    http://img1.sycdn.imooc.com//5dcfa3710001e6d208730289.jpg

    查看全部
  • AttributesImpl的clear()方法清除屬性 ,addAttribute()前兩個(gè)參數(shù)與命名空間有關(guān),第三個(gè)參數(shù)是屬性名,第四個(gè)參數(shù)是屬性類型,第五個(gè)參數(shù)是屬性值

    startDocument() 打開(kāi)document

    endDocument() 關(guān)閉document

    startElement()前兩個(gè)參數(shù)與命名空間有關(guān),第三個(gè)參數(shù)代表標(biāo)簽名稱,第四個(gè)參數(shù)是屬性集AttributesImpl對(duì)象

    endElement()前兩個(gè)參數(shù)與命名空間有關(guān),第三個(gè)參數(shù)代表標(biāo)簽名稱

    注意:setOutProperty要生效必須在setResult方法之前。

    http://img1.sycdn.imooc.com//5dcf9f3300017d7e05960290.jpg

    查看全部
  • SAX生成XML準(zhǔn)備工作

    http://img1.sycdn.imooc.com//5dcf994f00013b4c08610424.jpg

    http://img1.sycdn.imooc.com//5dcf9975000138af07220215.jpg

    查看全部
  • Document的setXmlStandalone(true) 可以在xml首行中除去standalone屬性

    設(shè)置xml的值不應(yīng)使用setNodeValue("") 應(yīng)該使用setTextContent("")

    http://img1.sycdn.imooc.com//5dcf94900001191a06720151.jpg

    查看全部
  • 使用Transormer的transform方法將Document對(duì)象轉(zhuǎn)化為xml文件

    setOutputProperty(OutputKeys.INDENT,"yes")方法可以設(shè)置換行

    http://img1.sycdn.imooc.com//5dcf91870001224308610170.jpg

    查看全部
    0 采集 收起 來(lái)源:創(chuàng)建 XML 文件

    2019-11-16

  • 使用DocumentBuilderFactory創(chuàng)建DocumentBuilder對(duì)象

    http://img1.sycdn.imooc.com//5dd2520100017b1608590321.jpg

    使用DocumentBuilder對(duì)象生成Document對(duì)象,調(diào)用Document對(duì)象的createElement()方法生成節(jié)點(diǎn), setAttribute("","")方法添加節(jié)點(diǎn)屬性,再調(diào)用appendChild()方法將節(jié)點(diǎn)添加到xml中。

    http://img1.sycdn.imooc.com//5dce6f1c000153a507670358.jpg

    查看全部
  • 1.根節(jié)點(diǎn)element,添加屬性 setAttribute()

    2.文件document對(duì)象

    3.XMLOutputter對(duì)象 outputter.output(document,文件);通過(guò)輸出流轉(zhuǎn)換為xml文件




    查看全部
首頁(yè)上一頁(yè)1234567下一頁(yè)尾頁(yè)

舉報(bào)

0/150
提交
取消
課程須知
本課程是 Java 的中級(jí)課程,需要各位小伙伴們熟悉 Java 面向?qū)ο蟮乃枷?,并能熟練掌?Java I/O 的相關(guān)知識(shí)。對(duì)什么是XML,如何讀取XML有疑惑的小伙伴們,可以先去學(xué)習(xí)《Java眼中的XML---文件讀取》進(jìn)修。
老師告訴你能學(xué)到什么?
1、通過(guò)DOM方式生成xml文檔 2、通過(guò)SAX方式生成xml文檔 3、通過(guò)DOM4J方式生成xml文檔 4、通過(guò)JDOM方式生成xml文檔 5、不同生成方法大PK

微信掃碼,參與3人拼團(tuán)

微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

友情提示:

您好,此課程屬于遷移課程,您已購(gòu)買該課程,無(wú)需重復(fù)購(gòu)買,感謝您對(duì)慕課網(wǎng)的支持!