读取xml文件

265 阅读1分钟

如何读取下面这段xml文件

xml文件

<?xml version="1.0" encoding="UTF-8" ?>
<hmdatabase-config datasourcename="domain.HMDataBaseConfig">
    <property name="driverClass">com.mysql.jdbc.Driver</property>
    <property name="url">jdbc:mysql://localhost:3306/day16</property>
    <property name="user">root</property>
    <property name="password">root</property>
</hmdatabase-config>

property是标签的元素名

name是标签的属性名

driverClass是标签中属性名对应的属性值

com.mysql.jdbc.Driver是标签的文本值


读取

首先你需要导入依赖,也就是是解析xml的jar包

<dependency>
    <groupId>org.dom4j</groupId>
    <artifactId>dom4j</artifactId>## 目录## 目录
    <version>2.1.3</version>
</dependency>

读取xml的代码如下

    //获取xml解析器对象
    SAXReader saxReader = new SAXReader();
    
    //创建想要读取的xml文件的输入流
    FileInputStream fileInputStream = new FileInputStream("xxx/hmDataSourceConfig.xml");
  
    //用解析器对象.read(xml文件的输入流),将xml文件读取到Document对象里
    Document document = saxReader.read(fileInputStream);
    
    //用getRootElement()方法获取根目录
    Element rootElement = document.getRootElement();
    
    //getName()可以获取标签的标签名
    System.out.println("这是跟标签的标签名"+rootElement.getName());
    
    //attribute(索引),可以获取索引对应的标签属性对象,用getName()获取属性名称
    System.out.println("这是标签内索引为0的属性名"+rootElement.attribute(0).getName());
    
    //attributeValue(属性名)可以获取标签内属性名对应的属性值
    String value = rootElement.attributeValue("datasourcename");
    System.out.println("这是根标签datasourcename的属性值吗:"+value);

    //elements()获取根标签下的子标签集合
    List<Element> elements = rootElement.elements();
    for (Element element : elements) {
        String name = element.attributeValue("name");
        
        //getText()获取标签文本值
        String text = element.getText();
        
        sout.out.println(name+":"+text)
        
        。。。
        。。。
    }
    

}