用java语句构建XML的字符串

2 篇文章 0 订阅
package com.ku.firstmaven.service;

import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.text.SimpleDateFormat;
import java.util.Date;

import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;

public class toXml {

	public static void main(String[] args) throws IOException {
		//构建请求XML
		String requestXml = buildRequestXml();
		System.out.println(requestXml);
		
		//把字符串转换为输入流
		ByteArrayInputStream arrayInputStream = new ByteArrayInputStream(requestXml.getBytes("GBK"));
		System.out.println(arrayInputStream);
		
		//获取XML(流里取得)
		StringBuffer buf = new StringBuffer(); 
		InputStream stream = arrayInputStream;
		BufferedReader br = new BufferedReader(new InputStreamReader(stream, "GBK"));
		String line;  
        while (null != (line = br.readLine())) {  
            buf.append(line);  
        }
        String xml = buf.toString();
        System.out.println(xml);
        System.out.println("----------------");
          
	}
	
	/**
	 * 构建请求XML
	 * @param 
	 * @return
	 */
	public static String buildRequestXml() {
		String requestXml = "";
		try {
			//创建请求报文
			Document document = DocumentHelper.createDocument();
			document.setXMLEncoding("GBK");
			Element packet = document.addElement("PACKET");
			//创建请求报文头
			Element requesthead = packet.addElement("requesthead");
			requesthead.addElement("user").addText("007");
			requesthead.addElement("request_type").addText("01130098");
			requesthead.addElement("password").addText("44bbf9de-3ae9-33e2-821c-9bbc24e7f32c");
			requesthead.addElement("server_version").addText("00000001");
			requesthead.addElement("sender").addText("007");
			requesthead.addElement("uuid").addText("111d8353-573d-4ec1-be76-e573763f8da1");
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
			requesthead.addElement("flowintime").addText(sdf.format(new Date()));
			//请求报文体
			Element body = packet.addElement("BODY");
			Element registTask = body.addElement("registTask");
			registTask.addElement("registNo").addText("L001");
			registTask.addElement("licenseNo").addText("粤A2002");
			registTask.addElement("linkMan").addText("枯兴");
			registTask.addElement("linkTel").addText("13513145200");
			registTask.addElement("dangerAddress").addText("广州某地");
			registTask.addElement("brand").addText("保时捷");
			registTask.addElement("modelCode").addText("BSJ00x00");
			registTask.addElement("vinNo").addText("lcxlcxlcxlcxlxc");
			registTask.addElement("factoryCode").addText("3456478913415");
			registTask.addElement("checkUserName").addText("枯兴");
			registTask.addElement("checkUserCode").addText("731546145");
			registTask.addElement("checkUserPhone").addText("13513145200");
			registTask.addElement("checkResidentFlag").addText("1");

			requestXml = document.asXML();
		} catch (Exception e) {
			String msg = "构建请求XML失败";
			System.out.println(msg);
		}
		
		return requestXml;
	}

}

流的转换注意中文编码问题哦!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值