使用XSD架构描述’storeToXML’生成的Java属性
作者:互联网
我使用Properties#storeToXML将java.util.Properties转换为XML格式.但是,默认情况下,它会为其生成带有DTD模式的XML:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
...
</properties>
是否可以改用XSD模式?如何重新配置?
解决方法:
使用默认类,似乎无法将doctype声明更改为基于XSD的方法.
但是似乎有一种干预XML存储行为的插件方法(至少在Java 8中如此):方法Properties.storeToXml
在内部委托给了一个已加载的XmlPropertiesProvider(来自包sun.util.spi).
可以通过检查系统属性“ sun.util.spi.XmlPropertiesProvider”来加载此属性提供程序,或者(如果找不到)通过将service loader mechanism加载该属性提供程序.
使用这种方法,您可以自己实现XmlPropertiesProvider(这是一个具有加载和存储方法的抽象类),并以自己的方式处理这些XML部分.
标签:properties-file,xsd,dtd,xml,java 来源: https://codeday.me/bug/20191118/2028841.html