我必须解析一个XML配置文件。我决定使用XMLSchema进行基本验证,以避免进行大量验证的样板代码。由于解析类应该自己工作,所以我想知道:“如何在不将XMLSchema存储在磁盘上可以由第三方修改的情况下,使用XMLSchema验证传入的XML文件?”我知道我可以从任意InputStream加载XMLSchema,但是Schema本身必须存储在某个地方。 (并且将Schema放入巨大的String对象中听起来像是一个非常非常糟糕的主意)有人已经这样做了吗?此类情况的最佳解决方案是什么?
祝您一周愉快!
最佳答案
我会将其与适当的类一起放在您的部署中。使用加载
ClassLoader.getResourceAsStream()
如果您真的担心有人会修改此架构,为什么不先部署.jar文件,然后sign .jar文件?这样,您可以确保没有人会篡改它,并且您不必依赖第三方基础结构,远程存储等。