XML文档基本操作

/**
 * XML操作工具类
 * <P><STRONG>Time:</STRONG>2012-3-25 下午8:16:49</P>
 * @author 胡昌海
 */
public class XmlOperate {
	/**
	 * 创建DOC对象
	 * @return
	 * @throws Exception
	 */
	public Document createDocument() throws Exception{
		DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
		DocumentBuilder builder=factory.newDocumentBuilder();
		Document document=builder.newDocument();
		return document;
	}
	/**
	 * 为DOC添加根节点
	 * @param document 文档对象
	 * @param rootName	结点名称
	 * @return
	 */
	public Element addRootElement(Document document,String rootName){
		Element root=document.createElement(rootName);
		document.appendChild(root);
		return root;
	}
	
	/**
	 * 为DOC添加节点
	 * @param parent 父节点
	 * @param tagName	结点名称
	 * @return
	 */
	public Element addElement(Element parent,String tagName){
		Document document=parent.getOwnerDocument();
		Element child=document.createElement(tagName);
		parent.appendChild(child);
		return child;
	}
	
	/**
	 * 为DOC添加节点
	 * @param parent 父节点
	 * @param tagName 结点名称
	 * @param text 结点文本
	 * @return
	 */
	public Element addElement(Element parent,String tagName,String text){
		Document document=parent.getOwnerDocument();
		Element child=document.createElement(tagName);
		child.setTextContent(text);
		parent.appendChild(child);
		return child;
	}
	
	/**
	 * 将DOC转化为字符串
	 * @param document 文档对象
	 * @return
	 * @throws Exception
	 */
	public String tranferToString(Document document) throws Exception{
		if(document==null)return null;
		StringWriter out=null;
		try{
			TransformerFactory factory=TransformerFactory.newInstance();
			Transformer transformer = factory.newTransformer(); 
			DOMSource source = new DOMSource(document);
		    out=new StringWriter();
		    StreamResult result = new StreamResult(out);
		    transformer.transform(source, result);
		    return out.toString();
		}finally{
		    out.close();
		}
	}
	
	/**
	 * 将字符串转化为DOC对象
	 * @param xmlString 文档字符串
	 * @return
	 * @throws Exception
	 */
	public Document tranferToDocument(String xmlString) throws Exception{
		if(xmlString==null)return null;
		StringReader in=null;
		try{
			DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
			DocumentBuilder builder=factory.newDocumentBuilder();
			in=new StringReader(xmlString);
			return builder.parse(new InputSource(in));
		}finally{
			in.close();
		}
	}
}


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值