Java

本类阅读TOP10

·使用MyEclipse开发Struts框架的Hello World!(录像1)
·hibernate配置笔记
·AOP编程入门--Java篇
·linux下Tomcat 5.0.20 与 Apache 2 安装/集成/配置
·在win2003下整合了整合Tomcat5.5+ apache_2.0.53+ mod_jk_2.0.47.dll
·构建Linux下IDE环境--Eclipse篇
·Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)
·ASP、JSP、PHP 三种技术比较
·Tomcat5.5.9的安装配置
·AWT GUI 设计笔记(二)

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
Java与XML(二)用java编写xml的读写程序

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

Java与XML(二)用java编写xml的读写程序

这是读取xml文件的java程序,我调试好的。采用的是dom方式读取xml文件到Vector中。
package src;
import java.io.*;
import java.util.Vector;
import javax.xml.parsers.*;
import org.w3c.dom.*;
public class readxml {
 static Document document;
 private boolean validating;
 public readxml() {
 }
 public Vector toRead(String filename) {
  Vector title=new Vector();
  Vector content=new Vector();
  String myStr=new String();
  try {
   DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
   factory.setValidating(validating);
   DocumentBuilder builder = factory.newDocumentBuilder();
   document = builder.parse(new File(filename));
   document.getDocumentElement().normalize();
   Node node = document.getFirstChild();
   NodeList list = node.getChildNodes();
   for (int i = 0; i < list.getLength(); i++) {
    Node nodeitm = list.item(i);
    if (nodeitm.getNodeName().equals("Title")) {
     myStr=nodeitm.getFirstChild().getNodeValue();
     title.addElement(myStr);//getFirstChild()
    }
    if (nodeitm.getNodeName().equals("Content")) {
     myStr=nodeitm.getFirstChild().getNodeValue();
     content.addElement(myStr);
    }
   }
  } catch (Exception exp) {
   exp.printStackTrace();
   return null;
  }
  Vector all=new Vector();
  all.add(title);
  all.add(content);  
  return all;
 }

 public static void main(String[] args) {
  Vector A;
  readxml my = new readxml();
  A = my.toRead("f:\\tomcat5\\webapps\\myxml\\xmldata\\9.xml");
  for (int i = 0; i < A.size(); i++) {
   System.out.println(A.elementAt(i));
  }
 }
}
这是将xml写入文件。其中,transformer.setOutputProperty(OutputKeys.ENCODING,"GB2312")关系到编码问题,非常重要。
import org.w3c.dom.*;
import javax.xml.parsers.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import java.io.*;
public class writexml {
 private Document document;
 private String filename;
 
 public writexml(String name) throws ParserConfigurationException{
  filename=name;
  DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
  DocumentBuilder builder=factory.newDocumentBuilder();
  document=builder.newDocument();
 }
 public void toWrite(String mytitle,String mycontent){
      Element root=document.createElement("WorkShop");
  document.appendChild(root);
  Element title=document.createElement("Title");
  title.appendChild(document.createTextNode(mytitle));
  root.appendChild(title);
  Element content=document.createElement("Content");
  content.appendChild(document.createTextNode(mycontent));
  root.appendChild(content);
  }
 public void toSave(){
  try{
   TransformerFactory tf=TransformerFactory.newInstance();
   Transformer transformer=tf.newTransformer();
   DOMSource source=new DOMSource(document);
   transformer.setOutputProperty(OutputKeys.ENCODING,"GB2312");
   transformer.setOutputProperty(OutputKeys.INDENT,"yes");
   PrintWriter pw=new PrintWriter(new FileOutputStream(filename));
   StreamResult result=new StreamResult(pw);
   transformer.transform(source,result);
  }
  catch(TransformerException mye){
   mye.printStackTrace();
  }
  catch(IOException exp){
   exp.printStackTrace();
  }
 }
 public static void main(String args[]){
  try{
  writexml myxml=new writexml("f:\\tomcat5\\webapps\\myxml\\xmldata\\9.xml");
  myxml.toWrite("中文题目","中文内容");
  myxml.toSave();
  System.out.print("Your writing is successful.");
  }
  catch(ParserConfigurationException exp){
   exp.printStackTrace();
   System.out.print("Your writing is failed.");
  }  
 }
}




相关文章

相关软件