java对XML文件的读取
/**虽然这样的代码敲了不少于N遍,但今天上午出奇的熟练,第一次有了"抄"程序的快感,特拿出来和大家分享。。*/
package xml.wkjava;
import java.io.*;
import org.dom4j.*;
public class TestSchema {
public TestSchema() throws IOException, DocumentException { //测试类
Document doc = readerDoc("new.xml");
writeDoc(doc);
Document doc = createDoc();
writeDoc(doc);
storeDoc(doc,"new.xml");
}
public Document readerDoc(String xmlfile)
throws FileNotFoundException, DocumentException{ //读取XML文件
SAXReader reader = new SAXReader();
Document doc = reader.read(new FileInputStream(xmlfile));
return doc;
}
public Document createDoc() { //创建XML文件
Document doc = DocumentHelper.createDocument();
Element root = doc.addElement( "class" );
Element student1 = root.addElement( "student" );
student1.addAttribute( "name", "James" );
student1.addText( "James Strachan" );
Element student2 = root.addElement( "student" );
student2.addAttribute( "name", "韦客" );
student2.addText( "中文测试" );
return doc;
}
public void writeDoc(Document doc) throws IOException{ //写入控制台
Writer out = new OutputStreamWriter(System.out,"gb2312");
OutputFormat format = OutputFormat.createPrettyPrint();
XMLWriter writer = new XMLWriter( out, format );
writer.write( doc );
out.flush();
}
public void storeDoc(Document doc,String xmlfile)
throws IOException{ //写入磁盘
Writer out = new OutputStreamWriter(new FileOutputStream(xmlfile),"utf-8");
OutputFormat format = OutputFormat.createPrettyPrint();
XMLWriter writer = new XMLWriter( out, format );
writer.write( doc );
writeDoc(doc);
out.close();
}
public static void main(String[] args) {
try {
new TestSchema();
} catch (IOException e) {
e.printStackTrace();
} catch (DocumentException e) {
e.printStackTrace();
}
}
}
weiking
2006-04-15 07:43:54
评论:0
阅读:1639
引用:0
