编程语言
首页 > 编程语言> > 使用XSD架构描述’storeToXML’生成的Java属性

使用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