xml文件解析之Dom

以下示例比较简单,仅供初学者参考。

 

生成XML文件,引用DOM包。

import org.w3c.dom.Document;
import org.w3c.dom.Element;

import java.io.File;
import java.io.FileOutputStream;

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


public class XmlWriterDom {
    public static void main(String[] args){
        genXmlFile();
    }
	
    public static void genXmlFile(){
        try{
	//解析器工厂类
	DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
	//解析器
	DocumentBuilder builder = factory.newDocumentBuilder();
	//操作的Document对象
	Document document = builder.newDocument();
	//设置XML的版本
	document.setXmlVersion("1.0");
	//创建根节点
	Element root = document.createElement("MobileNet");
	//将根节点添加到Document对象中
	document.appendChild(root);
		
	/**the first page*/
	//设置第一个page元素到
	Element pageElement = document.createElement("page");
	//设置page节点的name属性
	pageElement.setAttribute("name", "list.jsp");
	/**method*/
	//设置method节点
	Element methodElement = document.createElement("method");
	//给method设置值
	methodElement.setTextContent("get");
	//添加method节点到page节点内
	pageElement.appendChild(methodElement);
	/**display*/
	//设置method节点
	Element displayElement = document.createElement("display");
	//给display设置值
	displayElement.setTextContent("list");
	//添加display节点到page节点内
	pageElement.appendChild(displayElement);
	/**request_param*/
	//设置request_param节点
	Element request_paramElement = document.createElement("request_param");
	//给request_param设置值
	request_paramElement.setTextContent("request_param1|request_param2");
	//添加request_param节点到page节点内
	pageElement.appendChild(request_paramElement);
	//将page段加人根节点内
	 root.appendChild(pageElement);
		 
	 /**the second page*/
	 //设置第二个page元素到
	 pageElement = document.createElement("page");
	 //设置page节点的name属性
	pageElement.setAttribute("name", "content.jsp");
	/**method*/
	//设置method节点
	methodElement = document.createElement("method");
	//给method设置值
	methodElement.setTextContent("post");
	//添加method节点到page节点内
	pageElement.appendChild(methodElement);
	/**display*/
	//设置method节点
	displayElement = document.createElement("display");
	//给display设置值
	displayElement.setTextContent("content");
	//添加display节点到page节点内
	pageElement.appendChild(displayElement);
	/**url_title*/
	//设置url_title节点
	Element url_titleElement = document.createElement("url_title");
			
	//给url_title设置值
	url_titleElement.setTextContent("title,publisher,published_calendar");
			
	//添加url_title节点到page节点内
	pageElement.appendChild(url_titleElement);
	//将page段加人根节点内
	root.appendChild(pageElement);
			
	//开始把Document映射到文件
	TransformerFactory transFactory = TransformerFactory.newInstance();
	Transformer transFormer = transFactory.newTransformer();
	//设置输出结果
	DOMSource domSource = new DOMSource(document);
	//生成xml文件
	File file = new File("d:/test.xml");
	//判断是否存在,如果不存在,则创建
	if(!file.exists()){
                    file.createNewFile();
	}
	//文件输出流
	FileOutputStream out = new FileOutputStream(file);
	//设置输入源
	StreamResult xmlResult = new StreamResult(out);
	//输出xml文件
	transFormer.transform(domSource, xmlResult);
	//测试文件输出的路径
	System.out.println(file.getAbsolutePath());
    }catch(Exception e){
        e.printStackTrace();
    }finally{
}
}
}

 

 test.xml

<?xml version="1.0" encoding="UTF-8"?>
<MobileNet>
    <page name="list.jsp">
        <method>get</method>
        <display>list</display>
        <request_param>request_param1|request_param2</request_param>
    </page>
    <page name="content.jsp">
        <method>post</method>
        <display>content</display>
        <url_title>title,publisher,published_calendar</url_title>
    </page>
</MobileNet>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值