通过MVC进行xml的解析与写入

首先如何进行xml解析:

//使用Dom解析的方式解析xml文件中的数据 通过文档对象进行操作
//创建文档构建工厂对象(建筑公司)
DocumentBuilderFactory builderFactory=DocumentBuilderFactory.newInstance();
//创建文档构建对象(建筑小分队)
DocumentBuilder builder=builderFactory.newDocumentBuilder();
//解析一个xml文件
Document doc=builder.parse(new FileInputStream(“student.xml”));
//在doc中读取xml文件中的数据
//通过标签名称读取所有该名称的节点集合
NodeList nodeList=doc.getElementsByTagName(“student”);
//遍历集合
for (int i = 0; i < nodeList.getLength(); i++) {
//遍历集合对象获取每一个节点元素
Element element=(Element) nodeList.item(i);
//获取节点中的属性
String id=element.getAttribute(“id”);
System.out.println(id);

		//获取student中的子节点name
		NodeList names=element.getElementsByTagName("name");
		Element name=(Element) names.item(0);
		//获取节点中的文本内容
		String text=name.getTextContent();
		System.out.println(text);

如何进行xml的写入

//创建一个xml文件将数据写入到文件中
DocumentBuilderFactory builderFactory=DocumentBuilderFactory.newInstance();
//获取文档构建对象
DocumentBuilder builder=builderFactory.newDocumentBuilder();
//创建一个文档对象(内存中的)
Document doc=builder.newDocument();
//创建根节点
Element root=doc.createElement(“teachers”);

	//在根节点中创建子节点
	Element teacher=doc.createElement("teacher");
	teacher.setAttribute("tid", "1");
	teacher.setAttribute("sname", "abc");
	//将子节点追加到根节点中
	root.appendChild(teacher);
	
	//创建一个teacher子节点
	Element name=doc.createElement("name");
	//给name节点设置文本内容
	name.setTextContent("赵本山");
	//将name追加到teacher中
	teacher.appendChild(name);
	
	//添加age节点
	Element age=doc.createElement("age");
	age.setTextContent("20");
	
	//将age节点添加到teacher中
	teacher.appendChild(age);
	
	//将根节点追加到文档对象中
	doc.appendChild(root);
	
	//拆分对象工厂(拆迁工厂)
	TransformerFactory tsf=TransformerFactory.newInstance();
	//创建拆分对象(拆迁小分队)
	Transformer ts=tsf.newTransformer();
	
	//创建保存数据的文件(字节流的结果对象)
	StreamResult sr=new StreamResult(new File("teacher.xml"));
	//将Document对象转换成成文档资源
	DOMSource ds=new DOMSource(doc);
	
	//开始拆分
	ts.transform(ds, sr);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值