使用XSD架构来描述由' storeToXML'生成的Java属性。

时间:2016-06-15 10:22:21

标签: java xml xsd dtd properties-file

我使用Properties#storeToXMLjava.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架构?我该如何重新配置​​?

1 个答案:

答案 0 :(得分:3)

使用默认类,似乎无法将doctype声明更改为基于XSD的方法。

但似乎有一种插件干扰XML存储行为的方式(至少在Java 8中):方法Properties.storeToXml内部委托给加载 XmlPropertiesProvider(来自包sun.util.spi)。

通过检查系统属性“sun.util.spi.XmlPropertiesProvider”或(如果未找到)加载service loader mechanism来加载此属性提供程序。

使用这种方法,您可以自己实现XmlPropertiesProvider(它是一个带有方法loadstore的抽象类),并以您自己的方式执行这些XML部分。

相关问题