-
public void createXML() { // 生成xml // 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)); handler.setResult(result);查看全部
-
生成xml的四种方式的性能对比:SAX DOM4J JDOM DOM 由快到慢 在一个课程测试用例中四种方式的用时: DOM:418 SAX:3 JDOM:158 DOM4J:59 DOM SAX官方自带: DOM生成DOM树加载到内存,方便修改,性能慢。 SAX性能最高,但是不能返回修改便签中的内容 JDOM是本次测试速度最慢 DOM4J相对综合最好查看全部
-
DOM和SAX对比 因为SAX解析是基于事件的,所以无法做到重新修改,调整标签内容的,没有状态性可言,走完了一组标签是不能重新回去再走的查看全部
-
这里的底层API 指的就是官方提供的xml生成方式 -- DOM和SAX查看全部
-
将DOM树转换成XML文件 1,创建TransformerFactory对象,Factory为工厂类,不能直接new对象,通过newInstance获取对象 TransformerFactory tff = TransformerFactory.newInstance(); 2,通过tff获取Transfomer对象 Transformer tf = tff.newTransformer(); 3,指定换行格式 tf.setOutputProperty(OutputKeys.INDENT,"yes"); 4,用DOM树生成XML文件,将DOM树以及输出流作为参数传入 tf.transform(new DOMSource(Document do),new StreamResult(new File("books1.xml"));查看全部
-
创建xml根节点和子节点查看全部
-
SAX基于事件,DOM基于树,JDOM&DOM4J基于底层API查看全部
-
OutputFormat.createPrettyPrint 生成漂亮的 格式文本及其换行查看全部
-
news.addContent(new CDATA("<国内最新新闻>"));查看全部
-
DOM,SAX生成官方的xml文件 DOM4J,JDOM生成RSS文件查看全部
-
RSS通常是用来描述和同步网站内容的一种格式,本质是xml xml通常的用途就是可以共享数据查看全部
-
public void createXML() { // 生成xml // 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)); handler.setResult(result);查看全部
-
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");查看全部
-
将DOM树转换成XML文件 1,创建TransformerFactory对象,Factory为工厂类,不能直接new对象,通过newInstance获取对象 TransformerFactory tff = TransformerFactory.newInstance(); 2,通过tff获取Transfomer对象 Transformer tf = tff.newTransformer(); 3,指定换行格式 tf.setOutputProperty(OutputKeys.INDENT,"yes"); 4,用DOM树生成XML文件,将DOM树以及输出流作为参数传入 tf.transform(new DOMSource(Document do),new StreamResult(new File("books1.xml"));查看全部
-
用DOM方法创建XML文件: 1、获取DocumentBuilderFactory对象: DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 2、通过DocumentBuilderFactory对象,获取DocumentBuilder对象: DocumentBuilder db = dbf.newDocumentBuilder(); 3、通过DocumentBuilder的newDocument方法获取Document对象,代表着要生成的DOM树 Document do = db.newDocument(); 4、将根节点添加进DOM树 Element bookstore= document.createElement("bookStore"); document.appendChild(bookstore); 5、将子节点添加进DOM树 Element book = document.createElement("book"); bookstore.appendChild(book) 6、将子节点的属性及属性值添加进DOM树 book.setAttribute("id","1"); 即:通过当前节点的appendChild("节点名");方法为其添加子节点 通过document的createElement("节点名");方法来建立新的节点查看全部
举报
0/150
提交
取消