Java XML字符串转Map对象教程:使用DOM解析器
要将XML字符串转换为Map对象,可以使用Java中的DOM解析器来解析XML,并将解析结果存储在Map对象中。以下是一个示例代码:
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import java.io.ByteArrayInputStream;
import java.util.HashMap;
import java.util.Map;
public class XmlToMap {
public static void main(String[] args) {
String xml = '<root><name>John</name><age>30</age></root>';
Map<String, String> map = xmlToMap(xml);
System.out.println(map);
}
public static Map<String, String> xmlToMap(String xml) {
Map<String, String> map = new HashMap<>();
try {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(new ByteArrayInputStream(xml.getBytes()));
Element root = document.getDocumentElement();
NodeList nodeList = root.getChildNodes();
for (int i = 0; i < nodeList.getLength(); i++) {
Node node = nodeList.item(i);
if (node.getNodeType() == Node.ELEMENT_NODE) {
String key = node.getNodeName();
String value = node.getTextContent();
map.put(key, value);
}
}
} catch (Exception e) {
e.printStackTrace();
}
return map;
}
}
在上面的代码中,我们首先定义了一个xmlToMap方法,该方法接受一个XML字符串作为输入,并返回一个Map对象。
在方法中,我们使用DocumentBuilderFactory和DocumentBuilder来创建一个DOM解析器,并使用parse方法解析XML字符串。然后,我们获取XML的根元素,并遍历其子节点。对于每个元素节点,我们获取其节点名称和文本内容,并将其存储在Map对象中。
最后,我们调用xmlToMap方法,将XML字符串转换为Map对象,并输出结果。运行代码,将会得到如下输出:
{age=30, name=John}
原文地址: https://www.cveoy.top/t/topic/pcwu 著作权归作者所有。请勿转载和采集!