本方法是基于hutool工具包,org.w3c.dom。与dom4j方法差不多,不过支持XPath了

传入String格式的xml字符串,如果能明确知晓元素节点信息,可以使用XPath表达式获取节点值与元素属性值

import cn.hutool.core.util.XmlUtil;
import org.w3c.dom.Document;
import org.w3c.dom.Element;

import javax.xml.xpath.XPathConstants;

/**
 * @author crayon
 * @since 2021/3/30 11:01
 */
public class XmlTest {

    public static void main(String[] args) {
        String xml = "<root><a name = \"第一个元素\"><b>最底层节点值</b></a></root>";
        Document document = XmlUtil.parseXml(xml);
        Element goalElement = XmlUtil.getElementByXPath("//root/a",document);
        Object bString = XmlUtil.getByXPath("//root/a/b", document, XPathConstants.STRING);
        System.out.println("b元素节点值:"+bString);
        String name = goalElement.getAttribute("name");
        System.out.println("a元素属性值:"+name);
    }

}

如果xml节点信息未知,不能使用XPath的xml,可以一个个获取节点元素,判断并获取目标值

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐