xml怎么返回map
时间: 2023-07-31 19:10:15 浏览: 46
将xml解析成为一个Document对象,然后遍历Document对象获取其中的节点信息,将节点信息存储到一个Map对象中即可。可以使用Java中的DOM解析器或者JAXB进行解析。
以下是使用DOM解析器将XML转换为Map的示例代码:
```java
import java.io.StringReader;
import java.util.HashMap;
import java.util.Map;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.xml.sax.InputSource;
public class XmlToMap {
public static Map<String, String> xmlToMap(String xml) {
try {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
InputSource inputSource = new InputSource(new StringReader(xml));
Document document = builder.parse(inputSource);
Element root = document.getDocumentElement();
Map<String, String> map = new HashMap<>();
if (root.hasChildNodes()) {
for (Node child = root.getFirstChild(); child != null; child = child.getNextSibling()) {
if (child.getNodeType() == Node.ELEMENT_NODE) {
String nodeName = child.getNodeName();
String nodeValue = child.getTextContent();
map.put(nodeName, nodeValue);
}
}
}
return map;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
```
注意:上述代码只是一个示例,实际应用中需要根据XML的具体格式进行修改。