builder = factory.newDocumentBuilder(); document = builder.parse(file); //解析文件 Element root = document.getDocumentElement(); Element studentElement = document.createElement("学生"); Element nameElement = document.createElement("姓名"); Element ageElement = document.createElement("年龄"); Element scoreElement = document.createElement("成绩"); Element javaElement = document.createElement("Java"); Element oracleElement = document.createElement("Oracle"); Element xmlElement = document.createElement("Xml"); Element schoolElement = document.createElement("学校");
不过可以通过将String先写入文件
再从文件来解析生成Element
不过可以通过将String先写入文件
再从文件来解析生成Element
我这试过,给你看看,参孝一下吧
package com.niit.xml;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.PrintWriter;import com.niit.xml.XmlWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.xml.parsers.*;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
public class ParseStudents {
DocumentBuilderFactory factory;
DocumentBuilder builder;
Document document;
public void addStudent(File file, Student student){
factory = DocumentBuilderFactory.newInstance();
factory.setValidating(true); //有效性检查
try{
builder = factory.newDocumentBuilder();
document = builder.parse(file); //解析文件
Element root = document.getDocumentElement();
Element studentElement = document.createElement("学生");
Element nameElement = document.createElement("姓名");
Element ageElement = document.createElement("年龄");
Element scoreElement = document.createElement("成绩");
Element javaElement = document.createElement("Java");
Element oracleElement = document.createElement("Oracle");
Element xmlElement = document.createElement("Xml");
Element schoolElement = document.createElement("学校");
nameElement.appendChild(document.createTextNode(student.getName()));
ageElement.appendChild(document.createTextNode(String.valueOf(student.getAge())));
javaElement.appendChild(document.createTextNode(String.valueOf(student.getJava())));
oracleElement.appendChild(document.createTextNode(String.valueOf(student.getOracle())));
xmlElement.appendChild(document.createTextNode(String.valueOf(student.getXml())));
schoolElement.appendChild(document.createTextNode(student.getSchool()));
scoreElement.appendChild(javaElement);
scoreElement.appendChild(oracleElement);
scoreElement.appendChild(xmlElement);
studentElement.setAttribute("SID", student.getSid());
studentElement.appendChild(nameElement);
studentElement.appendChild(ageElement);
studentElement.appendChild(scoreElement);
studentElement.appendChild(schoolElement);
root.appendChild(studentElement);
}catch(Exception e){
e.printStackTrace();
}
}
}
import java.io.FileOutputStream; import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Source;
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.Document;
import org.w3c.dom.Element; public class CreateXMLDocument{ public static void main(String args[]) throws ParserConfigurationException, Exception{
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.newDocument();
Element root = doc.createElement("data");
doc.appendChild(root);
root.setAttribute("type", "abc");
//创建文件
File file = new File("d:/testCreatXml.xml");
if( !file.exists()||!file.isFile()){
new FileOutputStream("d:/testCreatXml.xml");
file = new File("d:/testCreatXml.xml");
}
StreamResult streamResult = new StreamResult(file);
Source inputSource = new DOMSource(doc);
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
transformer.transform(inputSource, streamResult);
}
}
import java.io.FileWriter;
import java.io.IOException;import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.XMLWriter;/**
* 创建xml文件 可以根据你的javabean创建你的xml文件
*
* @author tangyong
*
*/
public class createxml { public String createxml(String message, String season) { // 创建dom4j文档对象
Document document = DocumentHelper.createDocument();
// 使用文档对象创建根节点的xml
Element user_table = document.addElement("user_table");
// 根节点的描述
user_table.addComment("用户信息表");
// 添加属性
Element userid = user_table.addElement("userid");
userid.addAttribute ("type", "String");
userid.addAttribute("length", "32");
userid.addAttribute("isNull", "ture");
userid.setText("xb0001");
// 添加属性
Element name = user_table.addElement("name");
name.addAttribute ("type", "String");
name.addAttribute("length", "32");
name.addAttribute("isNull", "ture");
name.setText("唐勇");
Element password = user_table.addElement("password");
password.addAttribute ("type", "String");
password.addAttribute("length", "32");
password.addAttribute("isNull", "ture");
password.setText("123321");
// 此文档的xml的编码格式
document.setXMLEncoding("GBK");
// document.addDocType("WSData",null,"vbao.dtd"); document.addDocType("catalog",
null,"file://c:/Dtds/catalog.dtd");
// 生产xml
try {
XMLWriter xw = new XMLWriter(new FileWriter(new File(
"C:/TangXML/testXML_1.xml")));
xw.write(document);
xw.close(); } catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} return document.asXML();
} public static void main(String[] args) { createxml cxml = new createxml();
String xxx = cxml.createxml("11", "22");
/*File file =new File("c:/tangyong.txt");
try {
FileWriter fw=new FileWriter(file);
fw.write("我爱你们");
fw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}*/
System.out.println(xxx.toString()); }}