直接上代码不多说!!!
引入Dom4j依赖
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>
public class Test {
public static void main(String[] args) throws IOException {
doGet("http://xxxxxxxxxxxx");
}
public static String doGet(String url) throws IOException {
CloseableHttpClient httpclient = HttpClients.createDefault();
try {
HttpPost httppost = new HttpPost(url);
System.out.println("executing request " + httppost.getRequestLine());
CloseableHttpResponse response = httpclient.execute(httppost);
System.out.println(response.getStatusLine());
HttpEntity resEntity = response.getEntity();
if (resEntity != null) {
Header contentEncoding = resEntity.getContentEncoding();
System.out.println(contentEncoding);
String ss = EntityUtils.toString(resEntity, "UTF-8");
System.out.println("Response content: " + ss);
//得到根节点的值
SAXReader saxReader = new SAXReader();
Document document = null;
String rootName = null;
document = saxReader.read(new ByteArrayInputStream(ss.getBytes()));
//得到根节点对象
Element rootElements = document.getRootElement();
//得到根节点的节点名称
System.out.println(rootElements.getName());
Element sonElements = (Element) rootElements.elements().get(10);
Element node = rootElements.element("yesterday");
Iterator iter = node.elementIterator();
while (iter.hasNext()) {
Element elementOption = (Element) iter.next();
String name = elementOption.getName(); // 节点属性
String text = elementOption.getText(); // 节点元素
if(name.equals("date_1")){
System.out.println(text);
}
}
//通过根节点得到子节点标签为businessType的值
String sonVal = rootElements.elementText("city");
System.out.println(sonVal+"------------------");
System.out.println(rootElements.elementText("yesterday"));
//判断是否得到根节点,如果得到,就输出更节点的名字
if (sonElements.getName().equals("resp")) {
System.out.println(sonElements.getName());
}
}