您的位置主页 > 编程专区 > Java > XML文件操作

XML文件操作

2009-07-24    文章来源:互联网    浏览次数:287
<!--l version="1.0" encoding="gb2312-->

<!--l-stylesheet type="text/xsl" href="students.xsl-->

<students></students>
    <student sn="01">
    张三
    18
 
 
 
  李四
  20
package com.ibm.xml;

import java.io.File;
import java.io.IOException;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.w3c.dom.Text;
import org.xml.sax.SAXException;

/**
 * 对xml节点的添加、删除、修改
 * @author Administrator
 *
 */
public class DOMConvert {

 /**
  * @param args
  */
 public static void main(String[] args) {
  DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
  try
  {
   DocumentBuilder db=dbf.newDocumentBuilder();
   Document doc=db.parse(new File("students.xml"));
   //添加新的元素
   //创建元素节点
   //创建根节点
   Element eltStu=doc.createElement("student");
   //创建子节点
   Element eltName=doc.createElement("name");
   Element eltAge=doc.createElement("age");
   //创建文本节点
   Text txtName=doc.createTextNode("王五");
   Text txtAge=doc.createTextNode("19");
   //元素节点添加文本节点内容
   eltName.appendChild(txtName);
   eltAge.appendChild(txtAge);
   //根节点添加子节点
   eltStu.appendChild(eltName);
   eltStu.appendChild(eltAge);
   //添加的属性
   eltStu.setAttribute("sn","03");
   //获取子节点
   Element root=doc.getDocumentElement();
   root.appendChild(eltStu);
   //删除节点(第一个节点)
   NodeList nl=root.getElementsByTagName("student");
   root.removeChild(nl.item(0));
   //修改节点(第一个节点,改成22)
   Element eltStuChg=(Element)nl.item(0);
   Node nodeAgeChg=eltStuChg.getElementsByTagName("age").item(0);
   nodeAgeChg.getFirstChild().setNodeValue("22");
   
   int len=nl.getLength();
       for(int i=0;i
  • 上一篇:Case Studio 导入数据库结构的方法
  • 下一篇:没有了
  • 文章评论(查看全部)

    验证码: 中评 好评 差评