大家好,今天给大家分享的知识是java如何解析String类型的xml
一、前言
最近遇到了一个问题,需要调取第三方接口发送短信,但是调取成功后返回的是一个xml的字符串,需要对他进行一下解析。话不多说直接上代码
二、代码
首先我调取接口后返回的格式是这样的:
解析代码如下:
public static boolean parseXml(String xml){
try{
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(new InputSource(new StringReader(xml)));
NodeList nodeList = document.getElementsByTagName("returnsms");
for (int i = 0; i < nodeList.getLength(); i++) {
Element element = (Element) nodeList.item(i);
String message = element.getElementsByTagName("message").item(0).getTextContent();
String status = element.getElementsByTagName("returnstatus").item(0).getTextContent();
log.info("returnstatus: " + element.getTextContent());
log.info("message: " + message);
if("Success".equals(status)){
return true;
}
}
return false;
}catch (Exception e){
return false;
}
}
我将此封装成了一个工具类,只需将字符串xml传进来即可。在上述代码中,我们首先将xml传进来后,使用DocumentBuilderFactory和DocumentBuilder来创建一个Document对象,通过调用parse方法将xml数据加载到内存中。接下来,使用getElementsByTagName方法来获取returnsms节点列表,然后通过遍历节点列表,使用getElementByTagName方法获取子节点的值,并将其输出日志。
总结
以上就是Java如何解析String类型的xml,觉得有用的话记得点赞收藏加关注!谢谢观看!!!!!!