test.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<entry key="key1">value值1</entry>
<entry key="key2">value2</entry>
</properties>
java解析代码:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintStream;
import java.util.Properties;
public class xmlTest {
public static void main(String[] args) {
try {
// 读取*.xml文件
FileInputStream stream = new FileInputStream("conf/test.xml");
Properties properties = new Properties();
properties.loadFromXML(stream);
// 1、读取整个*.xml文件内容
properties.list(System.out);
// 2、按键值对的方式读取
String name = properties.getProperty("key1");
System.out.println(name);//value值1
// 3、循环遍历读取
for(Object obj:properties.keySet()){
String key = (String)obj;
String value = properties.getProperty(key);
System.out.println("key:"+key+",value:"+value);
}
// 写入并保存*.xml文件
properties.setProperty("key2","modifyValue2");//改变配置文件中的值
properties.put("key3", "value值3");//增加键值对
PrintStream print = new PrintStream(new File("conf/testNew2.xml"));//创建新文件
// 通过storeToXML方法将xml内容写入.xml文件
properties.storeToXML(print,"test");//配置文件中增加<comment>test</comment>
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
执行结果:
新创建的testNew2.xml内容
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>test</comment>
<entry key="key3">value值3</entry>
<entry key="key2">modifyValue2</entry>
<entry key="key1">value值1</entry>
</properties>