Http解析dom

形容一下业务需求,然后记录方法。

业务需求:

需要向某个固定的URL发送一个带参数的HTTP请求。并解析返回的XML数据,取到有用数据。

例如:

我要向http://111.12.1.2/MWBusinessModel/xmlrpc发送一个含有参数user=test的请求后,会返回如下xml,

<?xml version="1.0" encoding="UTF-8"?><methodResponse><params><param><value><![CDATA[F13D6E31-6687-49F1-9695-A582775B199A]]></value></param></params></methodResponse>

 

想获取"F13D6E31-6687-49F1-9695-A582775B199A"的值。

 

代码:

	/**
	 * 取得Content
	 * 
	 * @param param 需要向请求中传的参数
	 * @return
	 */
	public String getContent(String param) {
                private static final String XML_RPC_URL = "http://111.2.35.5/MWBusinessModel/xmlrpc";
		String xmlResp = null;
		try {
			xmlResp = hc.doPost(XML_RPC_URL, param);
		} catch (ClientProtocolException e) {
			logger.error("", e);
		} catch (IOException e) {
			logger.error("", e);
		}

		Document doc = null;

		try {
			//获得document
			doc = DocumentHelper.parseText(xmlResp);
		} catch (DocumentException e) {
			logger.error("", e);
		}

		Element methodResponseNode = doc.getRootElement();
		Element faultNode = methodResponseNode.element("fault");
		if (faultNode != null) {
			return null;
		}
		//获取params节点下param节点下的value的值(这种方法自动去掉<![CDATA[]字符串)
		Element paramsNode = methodResponseNode.element("params");
		Element paramNode = paramsNode.element("param");
		Element valueNode = paramNode.element("value");
		return valueNode.getText();
	}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值