标签:解析xml 1.2 ide saxreader span ESS mod throws pen
1 XML解析,xml解析其实就是获取元素里面的字符数据或者属性数据
1.1 DOM解析,document object model把整个xml全部读到内存中,形成树桩结构。整个文档称之为document对象。属性对应Attribute对象,所有的元素节点对应Element对象,文本也可以称之为Text对象那个,以上所有对象都称之为Node节点,如果xml特别大,那么将会造成内存溢出,可以对文档进行增删操作
1.2 SAX解析:Simple API for xml基于事件驱动,读取一行,解析一行,不会造成内存溢出,不可用进行增删,只能查询
1.3 dom4j 解析xml
<dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1.6.1</version> </dependency> <dependency> <groupId>jaxen</groupId> <artifactId>jaxen</artifactId> <version>1.1.1</version> </dependency>
@Test public void test1() throws DocumentException { //创建SAX读取对象 SAXReader saxReader = new SAXReader(); //指定解析的xml文件 Document document = saxReader.read(new File("C:\\work\\IDEAWorkSpace\\web\\web\\web_09\\src\\main\\resources\\stus.xml")); System.out.println(document); //得到根元素 Element rootElement = document.getRootElement(); //获取根元素下面的所有子元素 List<Element> elements = rootElement.elements(); //遍历所有的stu元素 for (Element element : elements) { System.out.println(element.element("name").getText()); System.out.println(element.element("age").getText()); System.out.println(element.element("address").getText()); } } @Test public void test2() throws DocumentException { //创建SAX读取对象 SAXReader saxReader = new SAXReader(); //指定解析的xml文件 Document document = saxReader.read(new File("C:\\work\\IDEAWorkSpace\\web\\web\\web_09\\src\\main\\resources\\stus.xml")); System.out.println(document); //得到根元素 Element rootElement = document.getRootElement(); Element element = (Element) rootElement.selectSingleNode("//name"); System.out.println(element.getText()); List<Element> list = rootElement.selectNodes("//name"); for (Element element1 : list) { System.out.println(element1.getText()); }
标签:解析xml 1.2 ide saxreader span ESS mod throws pen
原文地址:https://www.cnblogs.com/haizhilangzi/p/10263087.html