出处:引入 dom4j 包
<dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1.6.1</version></dependency>
比如阿里云视频转码服务的回调通知解析,代码如下:
import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.DocumentHelper;import org.dom4j.Element;import java.util.Iterator;public class DOMParser { public static void main(String[] args) { String strXML = ""; Document doc = null; try { doc = DocumentHelper.parseText(strXML); } catch (DocumentException e) { e.printStackTrace(); } Element root = doc.getRootElement();// 指向根节点 Iterator it = root.elementIterator(); while (it.hasNext()) { Element element = (Element) it.next();// 一个Item节点 System.out.println(element.getName() + " : " + element.getTextTrim()); } }} 1692545896541241 MyTopic 1692545896541241 bing-test3 C39FB8C345BBFBA8-1-1687F6FAADD-200000015 CAA1E9F5E9F854ACD8297B100BF8CCF9 {\"jobId\":\"2384a4d89b1d4f1e869559e2ff8c9fad\",\"requestId\":\"639D1D03-1557-4AD7-9AD7-691F02834516\",\"Type\":\"Transcode\",\"state\":\"Success\",\"type\":\"Transcode\",\"State\":\"Success\",\"JobId\":\"2384a4d89b1d4f1e869559e2ff8c9fad\",\"RequestId\":\"639D1D03-1557-4AD7-9AD7-691F02834516\"} 1548326251229
输出结果
TopicOwner : 1692545896541241TopicName : MyTopicSubscriber : 1692545896541241SubscriptionName : bing-test3MessageId : C39FB8C345BBFBA8-1-1687F6FAADD-200000015MessageMD5 : CAA1E9F5E9F854ACD8297B100BF8CCF9Message : {"jobId":"2384a4d89b1d4f1e869559e2ff8c9fad","requestId":"639D1D03-1557-4AD7-9AD7-691F02834516","Type":"Transcode","state":"Success","type":"Transcode","State":"Success","JobId":"2384a4d89b1d4f1e869559e2ff8c9fad","RequestId":"639D1D03-1557-4AD7-9AD7-691F02834516"}PublishTime : 1548326251229