Jim*_*son 6 java xml-serialization xerces
在Java 6中,整个xerces XML解析器/序列化器实现现在位于Java运行时(rt.jar)中.这些包已经在com.sun.*命名空间下移动,这使它们不受限制,以便在客户端代码中显式引用.使用解析器时这不是问题,解析器是通过javax API定义的工厂实例化的.
但是,我们的代码也使用xerces序列化(org.apache.xml.serialize.*).AFAICT,没有用于创建Serializer和OutputFormat实例的javax.xml API定义工厂.这似乎意味着获得一个的唯一方法是显式调用com.sun.org.apache.xml.serialize.*API.
我在javax.xml.stream中找到了序列化类,但它们似乎没有像xerces OutputFormat类那样提供任何输出格式化控件.
题:
是否有访问了Xerces序列化功能(其中一种方式是通过使用javax标准API在rt.jar中),而不包括xerces.jar的,也没有明确的实例化的com.sun.*类?
如果没有,是否有符合javax API的方式来实现相同的效果?
如果您想使用未通过官方java.*或javax.*API 公开的Xerces功能,那么您唯一真正的解决方案是将Xerces作为第三方库包含在内.以任何方式访问JRE内部版本的Xerces都是一件危险的事情,因为没有什么能保证有效的JRE甚至拥有这些类(备用JRE甚至同一JRE的其他版本可能使用不同的实现来实现JAXP API甚至只是将它移动到另一个包).
| 归档时间: |
|
| 查看次数: |
4737 次 |
| 最近记录: |