JAVA的XML编程(Dom) (二)

2014-11-24 07:11:47 · 作者: · 浏览: 2
hone(t.getNodeva lue());

  }

  student_Vector.add(studentBean);

  }

  }

  private void writeXMLFile(String outFile) throws Exception {

  //为解析XML作准备,创建DocumentBuilderFactory实例,指定DocumentBuilder

  DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();

  DocumentBuilder db = null;

  try {

  db = dbf.newDocumentBuilder();

  }

  catch (ParserConfigurationException pce) {

  System.err.println(pce);

  System.exit(1);

  }

  Document doc = null;

  doc = db.newDocument();

  //下面是建立XML文档内容的过程,先建立根元素"学生花名册"

  Element root = doc.createElement("学生花名册");

  //根元素添加上文档

  doc.appendChild(root);

  //取学生信息的Bean列表

  for (int i = 0; i < student_Vector.size(); i++) {

  //依次取每个学生的信息

  StudentBean studentBean = (StudentBean) student_Vector.get(i);

  //建立"学生"元素,添加到根元素

  Element student = doc.createElement("学生");

  student.setAttribute("性别", studentBean.getSex());

  root.appendChild(student);

  //建立"姓名"元素,添加到学生下面,下同

  Element name = doc.createElement("姓名");

  student.appendChild(name);

  Text tName = doc.createTextNode(studentBean.getName());

  name.appendChild(tName);

  Element age = doc.createElement("年龄");

  student.appendChild(age);

  Text tAge = doc.createTextNode(String.valueOf(studentBean.

  getAge()));

  age.appendChild(tAge);

  Element phone = doc.createElement("电话");

  student.appendChild(phone);

  Text tPhone = doc.createTextNode(studentBean.getPhone());

  phone.appendChild(tPhone);

  }

  //把XML文档输出到指定的文件

  FileOutputStream outStream = new FileOutputStream(outFile);

  OutputStreamWriter outWriter = new OutputStreamWriter(outStream);

  ( (XmlDocument) doc).write(outWriter, "GB2312");

  outWriter.close();

  outStream.close();

  }

  //最后加入测试主函数,如下:

  public static void main(String[] args) throws Exception {

  //建立测试实例

  XMLTest xmlTest = new XMLTest();

  //初始化向量列表

  xmlTest.student_Vector = new Vector();

  System.out.println("开始读Input.xml文件");

  xmlTest.readXMLFile("Input.xml");

  System.out.println("读入完毕,开始写Output.xml文件");

  xmlTest.writeXMLFile("Output.xml");

  System.out.println("写入完成");

  System.in.read();

  }

  }

  了,保存好StudentBean和XMLTest,把Input.xml保存到工作目录下。如果您输入很仔细,没敲错字母的话,可以看到"写入完成"了,去瞧瞧Output.xml文件和Input.xml文件是不是一样吧。

作者 sdtarena