发送和接收xml信息

用xml格式处理数据:

 

public class Test
{
	public static void main(String[] args)
	{
		sendXML();

		receiveXML();
	}

	/**
	 * 调用发送时组织XML形式的参数。
	 */
	private static void sendXML()
	{
		// <?xml version="1.0" encoding="UTF-8"?>
		// <root>
		// <msgtype>CORP</msgtype>
		// <starttime>2016-01-01 08:09:07</starttime>
		// <endtime>2016-01-31 08:09:07</endtime>
		// <token>TOKEN0001</token>
		// <companycode>1001</companycode>
		// </root>

		StringBuilder xmlbuild = new StringBuilder();
		xmlbuild.append("<?xml version='1.0' encoding='UTF-8'?> ");
		xmlbuild.append("<root>");
		xmlbuild.append("<msgtype>CORPMSG</msgtype>");
		xmlbuild.append("<starttime>");
		xmlbuild.append(DateUtils.curDateTimeStr19());
		xmlbuild.append("</starttime>");
		xmlbuild.append("<endtime>");
		xmlbuild.append(DateUtils.curDateTimeStr19());
		xmlbuild.append("</endtime>");
		xmlbuild.append("<token>");
		xmlbuild.append("temptoken");
		xmlbuild.append("</token>");
		xmlbuild.append("<companycode>");
		xmlbuild.append("tempCompanyCode");
		xmlbuild.append("</companycode>");
		xmlbuild.append("</root>");

		String str = xmlbuild.toString();

		System.out.println("send Xml=" + str);
	}

	/**
	 * 接收解析XML形式的返回参数。
	 */
	private static void receiveXML()
	{
		StringBuilder xml = new StringBuilder();
		xml.append("<?xml version='1.0' encoding='UTF-8'?>");
		xml.append("<root>");
		xml.append("<msgtype>CORP</msgtype>");
		xml.append("<starttime>2016-01-01 08:09:07</starttime>");
		xml.append("<endtime>2016-01-31 08:09:07</endtime>");
		xml.append("<rownumber>TOKEN0001</rownumber>");
		xml.append("<meomo></meomo>");

		xml.append("<data>");
		xml.append("<corp>");
		xml.append("<key>1001JHNGHHHHH0987234</key>");
		xml.append("<corpcode>1001</corpcode>");
		xml.append("<corpname>总部</corpname>");
		xml.append("<fatherkey>1001JHNGHHHHH0987234</fatherkey>");
		xml.append("</corp>");
		xml.append("<corp>");
		xml.append("<key>1001JHNGHHHHH0987234</key>");
		xml.append("<corpcode>1002</corpcode>");
		xml.append("<corpname>分销公司</corpname>");
		xml.append("<fatherkey></fatherkey>");
		xml.append("</corp>");
		xml.append("</data>");
		xml.append("</root>");

		String xmlBody = xml.toString();// info.get("xmlBody");
		
		try
		{
			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
			DocumentBuilder builder = factory.newDocumentBuilder();
			Document doc = builder.parse(new InputSource(new StringReader(xmlBody)));

			NodeList mainList = doc.getElementsByTagName("root");
			
			for (int i = 0; i < mainList.getLength(); i++)
			{
				Element item = (Element) mainList.item(i);

				String msgtype = item.getElementsByTagName("msgtype").item(0).getTextContent();
				String starttime = item.getElementsByTagName("starttime").item(0).getTextContent();
				String endtime = item.getElementsByTagName("endtime").item(0).getTextContent();
				String rownumber = item.getElementsByTagName("rownumber").item(0).getTextContent();
				String meomo = item.getElementsByTagName("meomo").item(0).getTextContent();

				System.out.println("msgtype=" + msgtype);
				System.out.println("starttime=" + starttime);
				System.out.println("endtime=" + endtime);
				System.out.println("rownumber=" + rownumber);
				System.out.println("meomo=" + meomo);

				System.out.println();
			}
			
			NodeList nodeList = doc.getElementsByTagName("corp");

			for (int i = 0; i < nodeList.getLength(); i++)
			{
				Element item = (Element) nodeList.item(i);

				String key = item.getElementsByTagName("key").item(0).getTextContent();
				String corpcode = item.getElementsByTagName("corpcode").item(0).getTextContent();
				String corpname = item.getElementsByTagName("corpname").item(0).getTextContent();
				String fatherkey = item.getElementsByTagName("fatherkey").item(0).getTextContent();

				System.out.println("key=" + key);
				System.out.println("corpcode=" + corpcode);
				System.out.println("corpname=" + corpname);
				System.out.println("fatherkey=" + fatherkey);

				System.out.println();
			}
		}
		catch (Exception ex)
		{

		}
	}

}

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值