用java编写xml的读写程序

原创 2005年02月27日 02:00:00

这是读取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.");
  }  
 }
}

Java DOM读写XML

2010-02-01 16:38DOM 是用与平台和语言无关的方式表示 XML 文档的官方 W3C 标准。DOM 是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分...
  • amaryh
  • amaryh
  • 2010年02月28日 00:12
  • 5581

写xml文件的工具

初次接触xml的新手,不知道说用哪个工具去写xml文件比较好,这里我简单介绍一下,如何去使用几个工具去写xml,并且查看效果1 、editPlus 轻巧,简洁,也就2~4M大小 ...
  • xiaozhegaa
  • xiaozhegaa
  • 2016年12月11日 15:16
  • 2144

java的xml读写

一、采用Dom方式读写 1、Dom读 一次加载所有节点(xml文件过大可能出现问题),能保存xml的结构(更方便修改,整棵树都在内存中),是用DocumentBuilderFactor读入。 2、Do...
  • pc_gad
  • pc_gad
  • 2016年10月14日 00:38
  • 1573

利用DOM4J在java环境下读写xml文件的方法

在java环境下读取xml文件的方法主要有5种:DOM、SAX、JDOM、JAXB、dom4j,最常用、最好用的dom4j。...
  • ling913
  • ling913
  • 2014年04月25日 16:03
  • 1667

java读取xml和xml写入数据

java读取xml和xml写入数据
  • qq_26676207
  • qq_26676207
  • 2016年11月04日 15:23
  • 4044

Java程序编写及运行准备工作

Java语言可分为java程序语言和Java平台,其中Java平台又包括各种硬件平台的java虚拟机(JVM)和应用平台程序编程接口(javaAPI)。java程序语言只能运行在自己的Java平台上。...
  • m0_37973607
  • m0_37973607
  • 2017年08月15日 14:24
  • 288

动画基础(一) 四种基本动画(xml和java编写)

作者:夏至 ,欢迎转载,也请保留这份申明,谢谢 前言: 生活不可能事事都能顺心,特别是刚毕业的时候,既然有些事情改变不了 那就做好工作的同时,增强自己,也请努力到心疼自己。 我们知道...
  • u011418943
  • u011418943
  • 2016年08月01日 10:52
  • 1186

Java对XML的读写操作类

import java.io.*; import java.util.*; import org.jdom.*; import org.jdom.output.*; import org.jdom.i...
  • a390125214
  • a390125214
  • 2013年03月13日 12:14
  • 5133

使用JAVA写的一个简易通讯程序(一)

好记性不如赖笔头…………两种常见的网络传输模型:一、OSI模型分层专业人员一般不说每一层的名称二是说第几层,这是等价的,层的位次得记清楚。 7)应用层——为终端用户提供应用程序服务。 6)表示层—...
  • ckinghan58
  • ckinghan58
  • 2017年05月19日 14:41
  • 223

用Java语言编写简单聊天程序

Tips:编写一个聊天程序。传输层使用UDP协议。可以同时接收、发送数据 需要多线程技术一个线程控制接收,一个线程发送 因为收和发动作不一致,定义两个run方法这两个方法封装在不同的类中 i...
  • qq_34122768
  • qq_34122768
  • 2016年06月18日 10:32
  • 3400
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用java编写xml的读写程序
举报原因:
原因补充:

(最多只允许输入30个字)