使用Dom4j解析String(XML)实现

/**
* <EndPointUrlMsg> <urls> <url> <key>BB4CCInterfaceService</key>
* <pass>TRUE</pass>
* <URL>http://10.137.30.66:9533/bb/ccinterface/wsdl/BB4CCInterfaceService
* .wsdl</URL> <frondEnd>BB4CCInterfaceService</frondEnd>
* <backEnd>BB4CCInterfaceService</backEnd>
* <soap>BB4CCInterfaceService</soap>
* <timeOut>BB4CCInterfaceService</timeOut> </url> <url>
* <key>MDSInterfaceService</key> <pass>TRUE</pass>
* <URL>http://10.137.30.66:
* 9533/webservice/mds/services/MDSInterfaceService.wsdl</URL>
* <frondEnd>MDSInterfaceService</frondEnd>
* <backEnd>MDSInterfaceService</backEnd> <soap>MDSInterfaceService</soap>
* <timeOut>MDSInterfaceService</timeOut> </url> </urls> </EndPointUrlMsg>
* @param args
*/

public static List<EndPointUrlEntity> readXMLMessage(String inputXML)
{
List<EndPointUrlEntity> list = new ArrayList<EndPointUrlEntity>();
if (inputXML != null)
{

Document documentDOM4j = (Document) string2Dom4J(inputXML);
if (documentDOM4j != null)
{
list = readXMLMessage(documentDOM4j);

}

}
return list;
}

public static List<EndPointUrlEntity> readXMLMessage(Document doc)
{
System.out.println("new Message:" + doc.asXML());
List<EndPointUrlEntity> list = new ArrayList<EndPointUrlEntity>();
EndPointUrlEntity entity;
Element element=doc.getRootElement();
Element urls=element.element("urls");
if(urls==null)
{
logger.error("");

}
List listUrls=urls.elements("url");
if(listUrls==null)
{

logger.error("");
}

for(Object o:listUrls)
{
entity=new EndPointUrlEntity();
Element el=(Element) o;
entity.setKey(el.element("key").getText());
entity.setPass(el.element("pass").getText());
entity.setUrl(el.element("URL").getText());
entity.setFrondEnd(el.element("frondEnd").getText());
entity.setBackEnd(el.element("backEnd").getText());
entity.setSoap(el.element("soap").getText());
entity.setTimeOut(el.element("timeOut").getText());
list.add(entity);

}

return list;
}



/**
* @功能说明:将传入的字符串转换成 dom4j Document
* @param message 需要转化的字符串,不能为空
* @return org.dom4j.Document
*/
public static org.dom4j.Document string2Dom4J(String message)
{
SAXReader reader = new SAXReader();
org.dom4j.Document documentDOM4J = null;
try
{
documentDOM4J = reader.read(new ByteArrayInputStream(message
.getBytes()));
}
catch (Exception e)
{
logger.error("Parse message error:" + message, e);
}
return documentDOM4J;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值