xml字符串解析(属性、文本)
package com.myself;
import cn.hutool.Hutool;
import cn.hutool.core.lang.tree.Tree;
import cn.hutool.core.lang.tree.TreeNode;
import cn.hutool.core.lang.tree.TreeNodeConfig;
import cn.hutool.core.lang.tree.TreeUtil;
import cn.hutool.core.util.XmlUtil;
import com.alibaba.fastjson2.JSON;
import lombok.extern.slf4j.Slf4j;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import springfox.documentation.spring.web.json.Json;
import java.util.*;
@Slf4j
@SpringBootTest(classes = Application.class)
@RunWith(SpringRunner.class)
public class ApplicationTest {
public static void main(String[] args) throws Exception {
String xmlStr = "" +
"<Action id=\"1\">\n" +
"\t<Boy key=\"one\">\n" +
"\t\t<City id=\"1-1\">北京</City>\n" +
"\t\t<City id=\"1-2\">上海</City>\n" +
"\t</Boy>\n" +
"</Action>";
Document document = XmlUtil.readXML(xmlStr);
Element elementAction =XmlUtil.getRootElement(document);
String action_id = elementAction.getAttribute("id");
Element elementBoy = XmlUtil.getElement(elementAction, "Boy");
String boy_key = elementBoy.getAttribute("key");
List<Element> elementCityList = XmlUtil.getElements(elementBoy, "City");
List<String> cityTextList = new ArrayList<>();
List<String> cityIdList = new ArrayList<>();
for (Element element : elementCityList) {
String city_text = element.getTextContent();
cityTextList.add(city_text);
String city_id = element.getAttribute( "id");
cityIdList.add(city_id);
}
System.out.println(action_id);
System.out.println(boy_key);
System.out.println(cityTextList);
System.out.println(cityIdList);
}
}
1
one
[北京, 上海]
[1-1, 1-2]