微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。