在线做logo印章网站,制图软件免费,网站建设的主要工作有哪些,大型网站制作导图工作需要#xff0c;要生成xml文件#xff0c;所以做了个小demo分享一下。看代码吧~ main()里面没什么好说的 该写的都写了public static void main(String[] args) {//调用 DocumentBuilderFactory.newInstance() 方法得到创建 DOM 解析器的工厂DocumentBuilderFactory fact…工作需要要生成xml文件所以做了个小demo分享一下。看代码吧~ main()里面没什么好说的 该写的都写了public static void main(String[] args) {//调用 DocumentBuilderFactory.newInstance() 方法得到创建 DOM 解析器的工厂DocumentBuilderFactory factoryDocumentBuilderFactory.newInstance();Element theBooknull, theElemnull, rootnull;try {factory.setIgnoringElementContentWhitespace(true);//是否删除空格 false trueDocumentBuilder dbfactory.newDocumentBuilder(); //获取解析器//指定路径 获取xml文件的document对象File f new File(src/book.xml);Document xmldocdb.parse(f);rootxmldoc.getDocumentElement();//添加 元素(节点)theBookxmldoc.createElement(book1);theElemxmldoc.createElement(name);theElem.setTextContent(平凡的世界);theBook.appendChild(theElem);theElemxmldoc.createElement(price);theElem.setTextContent(55.0);theBook.appendChild(theElem);theElemxmldoc.createElement(conment);theElem.setTextContent(推荐大家看看这本书);theBook.appendChild(theElem);root.appendChild(theBook);printXML(xmldoc);//打印至ConsolesaveXml(new_book.xml, xmldoc);//保存生成 xml文件} catch (ParserConfigurationException e) {e.printStackTrace();} catch (SAXException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}方法printXML() 打印到Console1.下面的方法中得到的transFactory对象调用newTransformer()方法得到一个Transformer对象Transformer transformertransFactory. newTransformer();Transformer类在javax.xml.transform包中。将被变换的Document对象封装到一个DOMSource对象中DOMSource domSourcenew DOMSource(document);DOMSource类在javax.xml.transform.dom包中。将变换得到XML文件对象封装到一个StreamResult对象中File filenew File(XXX.xml);FileOutputStream outnew FileOutputStream(file);StreamResult xmlResultnew StreamResult(out);StreamResult类在javax.xml.transform.stream包中。最后Transformer 对象transformer 调用transform方法实施变换transformer.transform(domSource, xmlResult);2.transformer.setOutputProperty(indent,yes);这里比较无语 只给了 是否设置缩进 只有yes|no你选择的是yes也就等于格式化了xml效果如下默认缩进的是0关于这个缩进问题 我还没处理好呢这里给个参考链接吧:http://blog.csdn.net/yes1983/article/details/2487455(ps:要是不在乎这个的话可以放弃这一步)public static void printXML(Node node) {TransformerFactory transFactoryTransformerFactory.newInstance();try {Transformer transformer transFactory.newTransformer();transformer.setOutputProperty(encoding, gb2312);//指定编码transformer.setOutputProperty(indent, yes); //是否设置缩进DOMSource sourcenew DOMSource();source.setNode(node);StreamResult resultnew StreamResult();result.setOutputStream(System.out);transformer.transform(source, result);} catch (TransformerConfigurationException e) {e.printStackTrace();} catch (TransformerException e) {e.printStackTrace();}}方法:saveXml() 保存生成xml文件public static void saveXml(String fileName, Document doc) {TransformerFactory transFactoryTransformerFactory.newInstance();try {Transformer transformer transFactory.newTransformer();transformer.setOutputProperty(indent, yes);//是否设置缩进DOMSource sourcenew DOMSource();source.setNode(doc);StreamResult resultnew StreamResult();result.setOutputStream(new FileOutputStream(fileName));transformer.transform(source, result);} catch (TransformerConfigurationException e) {e.printStackTrace();} catch (TransformerException e) {e.printStackTrace();} catch (FileNotFoundException e) {e.printStackTrace();}}运行结果:生成的新的xml文件内容最后我想说一下编码 开始的时候一定要统一编码 不然生成的xml文件会乱码的由最代码官方编辑于2014-8-14 16:44:29