zoukankan      html  css  js  c++  java
  • Dom解析xml

    如何使用java语言读取xml,并输出xml中元素的信息

     E:dom.xml文件

    <?xml version="1.0" encoding="UTF-8"?>
    <xml>
    <person>
    <name>张三</name>
    <age>23</age>
    <add>北京</add>
    </person>
    
    <person>
    <name>李四</name>
    <age>24</age>
    <add>西安</add>
    </person>
    
    <person>
    <name>王五</name>
    <age>25</age>
    <add>上海</add>
    </person>
    </xml>

    package com.cissst.dom1;
    
    import java.io.File;
    import java.io.IOException;
    
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.ParserConfigurationException;
    
    import org.w3c.dom.Document;
    import org.w3c.dom.Element;
    import org.w3c.dom.NodeList;
    import org.xml.sax.SAXException;
    
    public class DomTest {
        public static void main(String[] args){
            //得到DocumentBuilderFactory的一个工厂对象
            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
            
            DocumentBuilder docuBuilder = null;
            Document document = null;
            try {
                //用工厂对象得到一个DocumentBuilder对象
                docuBuilder = factory.newDocumentBuilder();
                //设置要访问的xml文件路径
                document = docuBuilder.parse("E:"+File.separator+"dom.xml");
                //获取名称为name元素的节点内容
                NodeList nl = document.getElementsByTagName("person");
                for(int i=0;i<nl.getLength();i++){
                    //循环为每一个名字为person的节点转换成Element并输出元素的子节点中的内容
                    Element element = (Element)nl.item(i);
                    System.out.print(element.getElementsByTagName("name").item(0).getFirstChild().getNodeValue());
                    System.out.print(element.getElementsByTagName("age").item(0).getFirstChild().getNodeValue());
                    System.out.println(element.getElementsByTagName("add").item(0).getFirstChild().getNodeValue());
                }
            } catch (ParserConfigurationException e) {
                e.printStackTrace();
            } catch (SAXException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            
            
        }
    }
    Best Regards
  • 相关阅读:
    java.lang.NoClassDefFoundError: Lorg/slf4j/Logger;
    jetty9内嵌到应用,并在启动后加载WebApplicationInitializer,可运行jsp
    Gradle Maven 依赖管理
    gradle多模块开发
    Github .gitignore详解
    Could not find or load main class org.gradle.wrapper.GradleWrapperMain解决办法
    SOC 与 ARM
    Codis集群的搭建与使用
    TIDB VS COCKROACHEB
    mysql故障
  • 原文地址:https://www.cnblogs.com/pecool/p/8042375.html
Copyright © 2011-2022 走看看