-
使用SAX生成XML文件中的节点以及节点属性 1,打开Document handler.startDocument(); 2,创建属性对象 AttributesiImpl ai = new AttributesImpl(); 3,创建无属性节点 handler.startElement("","","bookStore","ai"); 4,创建有属性节点 ai.clear();(清除原有属性内容) ai.addAttribute("","","id","","1");(设置新的属性内容) handler.startElement("","","book","ai"); 5,结束节点 handler.endElement(); 6,结束Document handler.endDocument();查看全部
-
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("节点名");方法来建立新的节点查看全部
-
DOM和SAX生成xml文件 JDOM和DOM4J会形成一个全新的RSS文件查看全部
-
四种生成xml方式对比查看全部
-
将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 > DOM4J > JDOM > DOM 在一个课程测试用例中四种方式的用时(Ms): DOM:418 SAX:3 JDOM:158 DOM4J:59 DOM/SAX官方自带: DOM生成DOM树加载到内存,方便修改,性能慢。 SAX性能最高,但是不能返回修改便签中的内容 DOM4J相对综合最好,应用广泛查看全部
-
用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("节点名");方法来建立新的节点查看全部
-
处理转义字符: 在写XML文件时有一些符号是转义字符,会默认进行转义操作,从而不会直接显示原字符。 人为设置是否转义的方法: 在生成XML文件时进行设置: writer.setEscapeText(boolean);//默认值是false,代表转义查看全部
-
//4.生成子节点及节点内容 Element channel = rss.addElement("channel"); Element title = channel.addElement("title"); title.setText("<![CDATA[上海移动互联网产业促进中心正式揭牌 ]]>"); //5.设置生成xml的格式 OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("GBK"); //6.生成xml文件 File file = new File("rssnews.xml"); XMLWriter writer; try { writer = new XMLWriter(new FileOutputStream(file), format); //设置是否转义,默认值是true,代表转义 writer.setEscapeText(false); writer.write(document); writer.close(); } catch (IOException e) { e.printStackTrace(); }查看全部
-
1,创建Document对象,代表着整个XML文档 Document document = DocumentHelper.createDocument(); 2,创建根节点rss Element rss = document.addElement("rss"); 3,向rss根节点中添加version属性 rss.addAttribute("version","2.0"); 4,创建XML文档的输出流 File file = new File("xxx"); XMLWriter writer = new XMLWriter(new FileOutputStream(file)); 5,将程序所写的XML文档内容与输出流联系起来 writer.write(document); 6,关闭资源 writer.close();查看全部
-
将DOM树转换成XML文件<br> 1,创建TransformerFactory对象,Factory为工厂类,不能直接new对象,通过newInstance获取对象<br> TransformerFactory tff = TransformerFactory.newInstance();<br> 2,通过tff获取Transfomer对象<br> Transformer tf = tff.newTransformer();<br> 3,指定换行格式<br> tf.setOutputProperty(OutputKeys.INDENT,"yes");<br> 4,用DOM树生成XML文件,将DOM树以及输出流作为参数传入<br> tf.transform(new DOMSource(Document do),new StreamResult(new File("books1.xml"));查看全部
-
// 7.利用handler对象进行xml文件内容的编写O // 打开document handler.startDocument(); AttributesImpl attr = new AttributesImpl(); handler.startElement("", "", "bookstore", attr); for (Book book : bookList) { attr.clear(); attr.addAttribute("", "", "id", "", book.getId()); handler.startElement("", "", "book", attr); // 创建name节点 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"); } ...//类似创建name节点(price、language...等等) handler.endElement("", "", "book"); } handler.endElement("", "", "bookstore"); // 关闭document handler.endDocument(); } Ps1:setResult()必须在startDocument()之前调用。 Ps2:void characters(char[] ch,int start,int length)throws SAXException查看全部
举报
0/150
提交
取消