package com.vdyoo.cloud; import com.vdyoo.cloud.paas.business.PaasBusinessApiApplication; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.DocumentHelper; import org.dom4j.Element; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import javax.xml.soap.*; import java.io.ByteArrayInputStream; import java.util.HashMap; import java.util.Iterator; import java.util.Map; @RunWith(SpringRunner.class) @SpringBootTest(classes = PaasBusinessApiApplication.class) public class VidyoLogicServiceTest extends BaseTest { @Test public void xmltest() throws DocumentException { String xml = "<?xml version='1.0' encoding='UTF-8'?>" + "<Test>" + "<name>haha。。。</name>" + "<age>24岁。。。。</age>" + "</Test>"; Document dom = DocumentHelper.parseText(xml); Element root = dom.getRootElement(); String name = root.element("name").getText(); String age= root.element("age").getText(); System.out.println(name); System.out.println(age); } @Test public void teste6(){ String soap = "<?xml version='1.0' encoding='UTF-8'?>" + "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\">" + "<soapenv:Body>" + "<ns19:NotifyUserStatus xmlns:ns19=\"http://ws.vidyo.com/notification\">" + "<ns19:UserStatus>" + "<ns19:username>王 </ns19:username>" + "<ns19:tenant>是好人</ns19:tenant>" + "<ns19:MemberStatus>Online</ns19:MemberStatus>" + "</ns19:UserStatus>" + "</ns19:NotifyUserStatus>" + "</soapenv:Body>" + "</soapenv:Envelope>"; try { MessageFactory msgFactory; msgFactory = MessageFactory.newInstance(); SOAPMessage reqMsg = msgFactory.createMessage(new MimeHeaders(), new ByteArrayInputStream(soap.getBytes("UTF-8"))); reqMsg.saveChanges(); SOAPBody body = reqMsg.getSOAPBody(); Iterator<SOAPElement> iterator = body.getChildElements(); Map map = PrintBody(iterator, null); System.out.println("__________________"+map); } catch (Exception e) { e.printStackTrace(); } } Map PrintBody(Iterator<SOAPElement> iterator, String side) { Map map = new HashMap(); while (iterator.hasNext()) { SOAPElement element = (SOAPElement) iterator.next(); if (element.getTagName().equals("ns19:username")) { map.put("username", element.getValue()); } if (element.getTagName().equals("ns19:tenant")) { map.put("tenant", element.getValue()); } if (element.getTagName().equals("ns19:MemberStatus")) { map.put("MemberStatus", element.getValue()); } if (null == element.getValue() && element.getChildElements().hasNext()) { Map map1 = PrintBody(element.getChildElements(), side + "-----"); return map1; } } return map; } }
java 解析字符串soap
最新推荐文章于 2024-08-02 07:15:00 发布