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

Java眼中的XML 文件写入

难度初级
时长 2小时 0分
学习人数
综合评分9.67
227人评价 查看评价
9.8 内容实用
9.7 简洁易懂
9.5 逻辑清晰
  • SAX解析开始 ===========开始遍历某一本书的内容============ book元素的第1个属性名是:id---属性值是:1 节点名是:name---节点值是:冰与火之歌 节点名是:author---节点值是:乔治马丁 节点名是:year---节点值是:2014 节点名是:price---节点值是:89 =========结束遍历某一本书的内容:============ ===========开始遍历某一本书的内容============ book元素的第1个属性名是:id---属性值是:2 节点名是:name---节点值是:安徒生童话 节点名是:year---节点值是:2004 节点名是:price---节点值是:77 节点名是:language---节点值是:English =========结束遍历某一本书的内容:============ SAX解析结束 java.io.IOException: 系统找不到指定的路径。 at java.io.WinNTFileSystem.createFileExclusively(Native Method) at java.io.File.createNewFile(Unknown Source) at com.imooc.test.SAXTest.createXML(SAXTest.java:66) at com.imooc.test.SAXTest.main(SAXTest.java:94)
    查看全部
  • package com.imooc.test; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; import javax.swing.text.html.parser.Parser; import javax.xml.parsers.ParserConfigurationException; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import javax.xml.transform.OutputKeys; import javax.xml.transform.Result; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerConfigurationException; import javax.xml.transform.sax.SAXTransformerFactory; import javax.xml.transform.sax.TransformerHandler; import javax.xml.transform.stream.StreamResult; import org.xml.sax.SAXException; import com.imooc.SAXParserHandler; import com.imooc.entity.Book;
    查看全部
  • public class SAXTest { public ArrayList<Book> parseXML() { // 获取一个SaxParserFactory的实例 SAXParserFactory factory = SAXParserFactory.newInstance(); // 通过foctory获取SAXParser实例 SAXParserHandler handler = null; try { SAXParser parser = factory.newSAXParser(); // 创建一个对象SAXParserHandler对象 handler = new SAXParserHandler(); parser.parse("books.xml", handler); } catch (ParserConfigurationException e) { e.printStackTrace(); } catch (SAXException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return handler.getBookList(); } public void createXML() { ArrayList<Book> bookList = parseXML(); // 1.创建一个TransformerFactory类的对象
    查看全部
  • SAXTransformerFactory tff = (SAXTransformerFactory) SAXTransformerFactory .newInstance(); try { // 2.通过SAXTransformerFactory对象创建一个TransformerHandler对象 TransformerHandler handler = tff.newTransformerHandler(); // 3.通过handler对象创建一个Transformer对象 Transformer tr = handler.getTransformer(); // 4.通过Transformer对象对生成的xml文件进行设置 // 设置xml的编码 tr.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); // 设置xml“是否换行” tr.setOutputProperty(OutputKeys.INDENT, "yes"); // 5.创建一个Result对象 File f = new File("src/res/newbooks.xml"); if (!f.exists()) { f.createNewFile(); } //6.创建Result对象,并使其与handler关联 Result result = new StreamResult(new FileOutputStream(f)); //7.利用handler对象进行xml文件内容的编写 handler.setResult(result); } catch (TransformerConfigurationException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args) { } }
    查看全部
  • 还有作业
    查看全部
  • DocumentBuilder db = getDocumentBuilder(); Document document = db.newDocument(); document.setXmlStandalone(true);//在xml文件中将不必要的属性删掉 Element bookstore = document.createElement("bookStore"); <?xml version="1.0" encoding="UTF-8"?><bookStore> <book id="1"> <name>西游记</name> </book> </bookStore>
    查看全部
  • // name.setNodeValue("西游记");//行不通 name.setTextContent("西游记"); <?xml version="1.0" encoding="UTF-8" standalone="no"?> <bookStore> <book id="1"> <name>西游记</name> </book> </bookStore>
    查看全部
  • Element name = document.createElement("name"); book.appendChild(name); 运行结果: <?xml version="1.0" encoding="UTF-8" standalone="no"?> <bookStore> <book id="1"> <name/> </book> </bookStore>
    查看全部
  • XML文件中第一行StandAlone表示该XML文件是否独立设置为yes为默认值,且不显示,表示独立没有外部文件为其服务,设置为no表示外部有其他文件为其服务<br> new Document().setXmlStandalone("yes");<br> 生成XML文件子节点的文本内容<br> 1,将子节点添加进DOM树<br> Element ele2 = new Element("name");<br> ele1.append(ele2);<br> 2, 设置子节点的文本内容<br> ele2.setTextContent("String");
    查看全部
  • tf.setOutputProperty(OutputKeys.INDENT, "yes");//是否换行 <?xml version="1.0" encoding="UTF-8" standalone="no"?> <bookStore> <book id="1"/> </bookStore>
    查看全部
    0 采集 收起 来源:创建 XML 文件

    2018-03-22

  • <?xml version="1.0" encoding="UTF-8" standalone="no"?><bookStore><book id="1"/></bookStore>
    查看全部
    0 采集 收起 来源:创建 XML 文件

    2018-03-22

  • /** * 生成xml */ public void createXml(){ DocumentBuilder db = getDocumentBuilder(); Document document = db.newDocument(); Element bookstore = document.createElement("bookStore"); //向bookStore根节点中添加子节点book Element book = document.createElement("book"); book.setAttribute("id", "1"); //将book节点添加到bookstore根节点中 bookstore.appendChild(book); //将bookstore节点(已经包含了book)添加到dom树中 document.appendChild(bookstore); //创建TransformerFactory对象 TransformerFactory tff = TransformerFactory.newInstance(); try { //创建Transformer对象 Transformer tf = tff.newTransformer(); 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(); } }
    查看全部
    0 采集 收起 来源:创建 XML 文件

    2018-03-22

  • /** * 主方法,程序的入口 */ public static void main(String[] args) { //创建DOMTest对象 DOMTest test = new DOMTest(); //调用解析方法,解析xml文件 // test.xmlParser(); test.createXml(); }
    查看全部
    0 采集 收起 来源:创建 XML 文件

    2017-02-17

  • /** * 生成xml */ public void creatXml(){ DocumentBuilder db = getDocumentBuilder(); Document document = db.newDocument(); Element bookstore = document.createElement("bookStore"); //向bookStore根节点中添加子节点book Element book = document.createElement("book"); book.setAttribute("id", "1"); //将book节点添加到bookstore根节点中 bookstore.appendChild(book); //将bookstore节点(已经包含了book)添加到dom树中 document.appendChild(bookstore); //创建TransformerFactory对象 TransformerFactory tff = TransformerFactory.newInstance(); try { //创建Transformer对象 Transformer tf = tff.newTransformer(); 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(); }
    查看全部
    0 采集 收起 来源:创建 XML 文件

    2018-03-22

  • Java 中 newInstance 方法和 new 的区别是什么? 1.new 是java中的关键字,是创建一个新对象的关键字。用new这个关键字的话,是调用new指令创建一个对象,然后调用构造方法来初始化这个对象,如果反编译class的话,会看到一个Object obj=new Object();这种语句,会先调用new指令生成一个对象,然后调用dup来复制对象的引用,最后调用Object的构造方法。 2.newInstance 不是关键字,newInstance() 是java反射框架中类对象(Class)创建新对象的方法。在这个过程中,是先取了这个类的不带参数的构造方法,然后调用构造方法的newInstance来创建对象 名:Object java.lang.Class.newInstance();如: Class clazz = String.class; Object newInstance = clazz.newInstance(); 3.newInstance() 也经常见于工厂设计模式中,在该模式中,共产类的该方法返回一个工厂bean。 如: Factory factory = new Factory(); Object obj = factory.newInstance(); 4.严格意义上来讲,这两者并没有可比较性,因为一个是java的关键字,有明确的用法和定义。一个是经常使用,但非标准的方法名称。
    查看全部
    0 采集 收起 来源:创建 XML 文件

    2017-02-17

举报

0/150
提交
取消
课程须知
本课程是 Java 的中级课程,需要各位小伙伴们熟悉 Java 面向对象的思想,并能熟练掌握 Java I/O 的相关知识。对什么是XML,如何读取XML有疑惑的小伙伴们,可以先去学习《Java眼中的XML---文件读取》进修。
老师告诉你能学到什么?
1、通过DOM方式生成xml文档 2、通过SAX方式生成xml文档 3、通过DOM4J方式生成xml文档 4、通过JDOM方式生成xml文档 5、不同生成方法大PK

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!