-
####一、主要用到的类: 1. SAXTransformerFactory:用于创建TransformerHandler实例 2. TransformerHandler:用于生成解析文档 3. Transformer:用于格式化输出的结果 4. Result:用于保存TransformerHandler产生的结果 ####二、主要的流程 // 创建一个工厂类实例,用于创建Handler实例 SAXTransformerFactory factory = (SAXTransformerFactory)SAXTransformer.newInstance(); // 从工厂实例中获取Handler实例 TransformerHandler handler = factory.newTransformerHandler(); // 创建一个格式化传输器 Transformer transformer = handler.getTransformer(); // 设置输出属性:OutputKeys.IDENNT="yes"表示输出结果带换行 former.setOutputProperty(OutputKeys.IDENNT,"yes"); // 创建转换结果持有器,用于保存Handler输出的结果 Result result = new StreamResult(new File("demo.txt")); // 建立handler与result之间的关联,确保handler处理的结果能正确的保存到result中 handler.setResult(result); // handler处理文档的细节(在下一个笔记里面)查看全部
-
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);查看全部
-
standalone表示该xml是不是独立的,如果是yes,则表示这个XML文档时独立的,不能引用外部的DTD规范文件;如果是no,则该XML文档不是独立的,表示可以引用外部的DTD规范文档。 <?xml version="1.0" encoding="utf-8" standalone="yes/no"?> 生成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文件查看全部
-
domsax对比查看全部
-
生成document查看全部
-
sax生成xml前期准备步骤查看全部
-
常用节点类型查看全部
-
转义问题 Element title = new Element("title"); CDATA cdata = new CDATA("上海移动互联网产业促进中心正式揭牌"); title.setContent(cdata);查看全部
-
通过JDOM方式生成XML文件步骤: 1,创建一个根节点,并设置属性以及属性值 Element element = new Element("rss"); ele.setAttribute("version","2.0"); 2,创建Document对象,并将Element对象传入进去 Document document = new Document(element); (有了文档之后就考虑如何将文档与要生成的XML文件联系起来,每种解析方式都提供了相应的输出流,原理都是通过一个方法将输出流与Document对象联系起来) 3,创建输出流对象 XMLOutputter outputer = new XMLOutputter(format); outputer.output(document,new FileOutputStream(new File("xxx")));查看全部
-
public void createXML(){ ArrayList<Book> books=parseXML(); // 生成xml 1.创建一个 SAXTransformerFactory 类的对象 SAXTransformerFactory tff = (SAXTransformerFactory) SAXTransformerFactory.newInstance(); try{ // 2.通过SAXTransformerFactory对象创建一个TransformerHandler对象 TransformerHandler handler = tff.newTransformerHandler(); // 3.通过handler对象创建一个Transformer对象 Transformer tr = handler.getTransformer(); // 4.通过Transformer对象对生成的xml文件进行设置 tr.setOutputProperty(outputKeys.ENCODING, "UTF-8");//设置xml的编码 tr.setOutputProperty(outputKeys.INDENT, "yes");//设置xml的"是否换行" File f = new File("src/res/newbooks.xml");// 5.创建一个Result对象 if(!f.exists()){ f.createNewFile(); } Result result = new StreamResult(new FileOutputStream(f)); handler.setResult(result);//创建Result对象,并且使其与handler关联 }catch(TransformerConfigurationException e){throw new RuntimeException("转换器手柄生成异常",e);}catch(FileNotFoundException e){throw new RuntimeException("找不到文件",e);}catch(IOException e){throw new RuntimeException("IO异常",e);} }查看全部
-
standalone表示该xml是不是独立的 =yes,则说明这个xml文件是独立的,没有dtd和schema说明文档进行规范的 =no,则说明xml文件,有dtd和schema规范文档查看全部
-
将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"));查看全部
举报
0/150
提交
取消