• 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
  • 相关阅读:
    离散数学期中复习
    计算机组成原理实验_算术逻辑运算器的实现
    数值分析第一章插值方法
    数值分析绪论
    数值分析第三章 常微分方程的差分方法
    数值分析第二章 数值积分
    数据库删除信息后,再次加入信息ID不再从1开始的解决办法
    Codeforces Round #670 (Div. 2)(树的重心,dfs求子树大小)
    Codeforces Round #670 (Div. 2)B. Maximum Product(5个数乘积最大)
    Codeforces Round #668 (Div. 2)A->C
  • 原文地址:https://www.cnblogs.com/pecool/p/8042375.html
Copyright © 2020-2023  润新知