龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > JAVA开发 >

用jdk自带包操作XML

时间:2009-12-23 15:42来源:未知 作者:admin 点击:
分享到:
写XML: 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 XmlWrite { private Document doc

写XML:

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 XmlWrite {
  private Document document;
  private String filename;

public XmlWrite(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{
  XmlWrite myxml=new XmlWrite("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.");
  }
  }
  }
  

读XML:

import java.io.*;
  import java.util.Vector;
  import javax.xml.parsers.*;
  import org.w3c.dom.*;
  public class XmlRead {
  static Document document;
  private boolean validating;
  public XmlRead() {
  }
  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;
  }


  

精彩图集

赞助商链接