使用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部分.

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念