XML的添加,显示,保存(有原XML)

原创 2007年10月14日 21:06:00

import javax.xml.parsers.*;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.*;


public class DOMTest {
 Document doc;
 public void load(){
  DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
  try {
   DocumentBuilder builder=factory.newDocumentBuilder();
   doc=builder.parse("school.xml");
  } catch (Exception e) {
   
   e.printStackTrace();
  }
  
  
 }
 public void show(){
  NodeList list=doc.getElementsByTagName("*");
  for(int i=0;i<list.getLength();i++){
   Element el=(Element)list.item(i);
   System.out.println("元素名称:"+el.getTagName());
   System.out.println("元素值:"+el.getFirstChild().getNodeValue());
   NamedNodeMap map=el.getAttributes();
   if(map.getLength()>0){
    for(int j=0;j<map.getLength();j++){
     Attr a=(Attr)map.item(j);
     System.out.println("属性"+a.getName()+"="+a.getValue());
    }
    
   }
  }
 }
 public void add(){
  Element stu=doc.createElement("student");
  stu.setAttribute("id","008");
  
  Element el=doc.createElement("name");
  Text t=doc.createTextNode("波波");
  el.appendChild(t);
  stu.appendChild(el);
  
  el=doc.createElement("address");
  t=doc.createTextNode("北京");
  el.appendChild(t);
  stu.appendChild(el);
  
  el=doc.createElement("tel");
  t=doc.createTextNode("13810270545");
  el.appendChild(t);
  stu.appendChild(el);
  
  el=doc.createElement("email");
  t=doc.createTextNode("yangboaccp@126.com");
  el.appendChild(t);
  stu.appendChild(el);
  
  doc.getDocumentElement().appendChild(stu);
 }
 public void save(){
  TransformerFactory factory=TransformerFactory.newInstance();
  try {
   Transformer tran=factory.newTransformer();
   Source xml=new DOMSource(doc);
   Result result=new StreamResult("school.xml");
   tran.transform(xml,result);
   
  } catch (Exception e) {
   
   e.printStackTrace();
  }
  
 }
 public static void main(String[] args) {
  DOMTest dom=new DOMTest();
  dom.load();
  dom.add();
  dom.show();
  dom.save();
 }

}

 

XML:

<?xml version="1.0" encoding="UTF-8"?><school>
 <student id="001">
  <name>彪彪</name>
  <address>广东</address>
  <tel>11111111</tel>
  <email>不知道</email>
 </student>
 <student id="002">
  <name>施施</name>
  <address>北京</address>
  <tel>00000000</tel>
  <email>知道</email>
 </student>
 <student id="007">
  <name>飞飞</name>
  <address>北京</address>
  <tel>444444444</tel>
  <email>不知道</email>
 </student>

</school>
 

c#如何实现从xml中加载树目录,并且显示完整的Text

谈到xml,相信有一定编程基础的童鞋们都比较清楚了。xml文件格式类似于嵌套的样式,这种独特的层次结构很容易使我们联想到目录树,因此这不禁让我们对两者之间产生一种牵线的想法。这不禁,使我们有这么一个问...
  • ztzi321
  • ztzi321
  • 2015年03月05日 08:35
  • 2377

Myeclipse XSD配置XML自动提示

公司是使用XMl来开发项目的,但是一直没有格式化的验证和提示,所以就自己写了个XSD,使用的时候需要进行配置,上网找了一下都只有如何配置到XMl Catalog中,但是只是配置到XMl Catalog...
  • Itfemg
  • Itfemg
  • 2015年12月21日 09:35
  • 2864

Eclipse添加ibatis DTD文件实现xml的自动提示功能

因为公司开发环境是在内网不能直接访问互联网,(同事经常漏写ibatis的sqlMap的标签,导致项目启动失败,排查很费劲),所以xml文件的dtd校验不能自动从网上下载。只能通过手工配置dtd格式实现...
  • qq455276333
  • qq455276333
  • 2015年10月24日 09:54
  • 14684

js动态添加行hiddenfield保存xml或json 数据 提交给后台处理

table {             border: black solid 1px;             border-collapse: collapse;         } ...
  • BQL_Email
  • BQL_Email
  • 2015年05月26日 09:03
  • 498

操作引入xml文件的书包(添加子节点和保存文件)

添加子节点和保存文件:NewID=编号,固定用法,在该编号位置添加一个节点;按编号设置节点名;设属性;按节点名设置文本。保存到help/usr/users1.xml,若为空时保存到原文件,即help/...
  • tx18
  • tx18
  • 2015年03月23日 12:00
  • 8565

用jsp将xml文件解析到网页显示,并把数据提交保存到数据库

questions.jsp   String path = request.getContextPath(); String basePath = request.getSche...
  • ITrookieGe
  • ITrookieGe
  • 2012年09月18日 12:24
  • 1210

动态添加控件及将某XML动态加入到Activity显示

一、动态添加控件、设置参数 这个难度比较大,放在前面讲,用的也比较多,普通情况下,我们会提前把布局XML写好,然后对XML中的元素进行设置,但这种方法在有些情况下就显得不适合,比较聊天应用,比如帖子的...
  • harvic880925
  • harvic880925
  • 2014年01月09日 15:47
  • 17607

读取本地XML文件信息,在地图上添加标注,显示当前位置详细地理信息

1. 本地XML文件 鄂EA12345 2011-11-20 60Km/h 10646270 2955278 渝A77881 2010-03-21 ...
  • yichangzyh
  • yichangzyh
  • 2011年11月04日 10:07
  • 1512

动态添加控件及将某XML动态加入到Activity显示

一、动态添加控件、设置参数 这个难度比较大,放在前面讲,用的也比较多,普通情况下,我们会提前把布局XML写好,然后对XML中的元素进行设置,但这种方法在有些情况下就显得不适合,比较聊天应用,比如帖子...
  • judyge
  • judyge
  • 2016年01月12日 17:39
  • 266

动态添加控件及将某XML动态加入到Activity显示

本文第二篇:《动态添加综合布局---动态添加控件及将某XML动态加入到Activity显示(续)》 一、动态添加控件、设置参数 这个难度比较大,放在前面讲,用的也比较多,普通情况下,我们会...
  • qq_23174861
  • qq_23174861
  • 2015年10月19日 00:04
  • 192
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:XML的添加,显示,保存(有原XML)
举报原因:
原因补充:

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