Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 掌握FastInfo的读者和作者_Java_Xml_Fastinfoset - Fatal编程技术网

Java 掌握FastInfo的读者和作者

Java 掌握FastInfo的读者和作者,java,xml,fastinfoset,Java,Xml,Fastinfoset,JDK1.6包括通过JAX-WSAPI使用FastInfo集web服务的功能。它们的实现隐藏在com.sun.xml.internal的深处,其包名旨在让任何明智的java开发人员(例如com.sun.xml.internal.fastinfoset.stax.StAXDocumentParser(实现XMLStreamReader)和com.sun.xml.internal.fastinfoset.stax.StAXDocumentSerializer(它实现了XMLStreamWriter)

JDK1.6包括通过JAX-WSAPI使用FastInfo集web服务的功能。它们的实现隐藏在
com.sun.xml.internal
的深处,其包名旨在让任何明智的java开发人员(例如
com.sun.xml.internal.fastinfoset.stax.StAXDocumentParser
(实现
XMLStreamReader
)和
com.sun.xml.internal.fastinfoset.stax.StAXDocumentSerializer
(它实现了
XMLStreamWriter

我的理解是,这些FastInfo集实现的使用是内部JAX-WS内容协商逻辑的一部分,因此不会公开给公共API。但是,我希望使用FastInfo集实现的公共STAX接口,并通过公共工厂类引用,而不是直接重新定义对这些内部包的引用

是否有人知道该设施是否可用,可能是通过标准的STAX工厂提供的?

并且似乎是合理的

在我的环境中,每个都有三个实现,一个是cxf(排除),一个来自codehaus(排除),另一个来自您所指的fast infoset包


我使用Eclipse的“引用”找到了这一点,因为javadoc不包含“使用”部分。

但是那些工厂只会告诉你他们认为最好的实现,你不能说“我想要一个FastInfo实现”…或者你可以吗?我想你不能-他们使用静态FactoryFinder.find方法。但是我认为默认情况下,他们应该返回你需要的内容。看起来当我使用
XMLInputFactory.newFactory()时,我需要传入FastInfo实现的类名
。这并不比直接实例化要好多少,但这是朝着正确方向迈出的一步。Java6中似乎有一个可笑的错误,
XmlOutputFactory.newFactory()
的返回类型是
XmlInputFactory
。在API规范上有很好的质量控制。