开发手册 欢迎您!
软件开发者资料库

DOM解析器 - 创建XML文档

Apache Xerces用于创建XML文档的DOM解析器 - 从基本到高级概念的简单易用步骤学习Apache Xerces,其中包括概述,Apache Xerces XML解析器,DOM解析器,解析XML文档,查询XML文档,创建XML文档,修改XML Document,SAX Parser,StAX Parser。

演示示例

以下是我们需要创建的XML :

   Ferrari 101   Ferrari 202

演示示例

CreateXmlFileDemo.java

package com.it1352.xml; import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.parsers.DocumentBuilder;import javax.xml.transform.Transformer;import javax.xml.transform.TransformerFactory;import javax.xml.transform.dom.DOMSource;import javax.xml.transform.stream.StreamResult;import org.w3c.dom.Attr;import org.w3c.dom.Document;import org.w3c.dom.Element;import java.io.File;public class CreateXmlFileDemo {   public static void main(String argv[]) {      try {         DocumentBuilderFactory dbFactory =         DocumentBuilderFactory.newInstance();         DocumentBuilder dBuilder =             dbFactory.newDocumentBuilder();         Document doc = dBuilder.newDocument();                  // root element         Element rootElement = doc.createElement("cars");         doc.appendChild(rootElement);         //  supercars element         Element supercar = doc.createElement("supercars");         rootElement.appendChild(supercar);         // setting attribute to element         Attr attr = doc.createAttribute("company");         attr.setValue("Ferrari");         supercar.setAttributeNode(attr);         // carname element         Element carname = doc.createElement("carname");         Attr attrType = doc.createAttribute("type");         attrType.setValue("formula one");         carname.setAttributeNode(attrType);         carname.appendChild(         doc.createTextNode("Ferrari 101"));         supercar.appendChild(carname);         Element carname1 = doc.createElement("carname");         Attr attrType1 = doc.createAttribute("type");         attrType1.setValue("sports");         carname1.setAttributeNode(attrType1);         carname1.appendChild(         doc.createTextNode("Ferrari 202"));         supercar.appendChild(carname1);         // write the content into xml file         TransformerFactory transformerFactory =         TransformerFactory.newInstance();         Transformer transformer =         transformerFactory.newTransformer();         DOMSource source = new DOMSource(doc);         StreamResult result =         new StreamResult(new File("C:\\cars.xml"));         transformer.transform(source, result);                  // Output to console for testing         StreamResult consoleResult =         new StreamResult(System.out);         transformer.transform(source, consoleResult);      } catch (Exception e) {         e.printStackTrace();      }   }}

上述程序将产生以下结果 :

Ferrari 101Ferrari 202