Class StaxUtils
java.lang.Object
org.springframework.util.xml.StaxUtils
Convenience methods for working with the StAX API. Partly historic due to JAXP 1.3
compatibility; relying on JAXP 1.4 as included in JDK 1.6 and higher.
In particular, methods for using StAX (javax.xml.stream) in combination with
the TrAX API (javax.xml.transform), and converting StAX readers/writers into SAX
readers/handlers and vice-versa.
- Since:
- 3.0
- Author:
- Arjen Poutsma, Juergen Hoeller
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionstatic ContentHandlercreateContentHandler(XMLEventWriter eventWriter) Create a SAXContentHandlerthat writes events to the given StAXXMLEventWriter.static ContentHandlercreateContentHandler(XMLStreamWriter streamWriter) Create a SAXContentHandlerthat writes to the given StAXXMLStreamWriter.static ResultcreateCustomStaxResult(XMLEventWriter eventWriter) Create a custom, non-JAXP 1.4 StAXResultfor the givenXMLEventWriter.static ResultcreateCustomStaxResult(XMLStreamWriter streamWriter) Create a custom, non-JAXP 1.4 StAXResultfor the givenXMLStreamWriter.static SourcecreateCustomStaxSource(XMLEventReader eventReader) Create a custom, non-JAXP 1.4 StAXSourcefor the givenXMLEventReader.static SourcecreateCustomStaxSource(XMLStreamReader streamReader) Create a custom, non-JAXP 1.4 StAXSourcefor the givenXMLStreamReader.static XMLInputFactoryCreate anXMLInputFactorywith Spring's defensive setup, i.e.static <T extends XMLInputFactory>
 TcreateDefensiveInputFactory(Supplier<T> instanceSupplier) Variant ofcreateDefensiveInputFactory()with a custom instance.static XMLStreamReadercreateEventStreamReader(XMLEventReader eventReader) Return aXMLStreamReaderthat reads from aXMLEventReader.static XMLStreamWritercreateEventStreamWriter(XMLEventWriter eventWriter) Return aXMLStreamWriterthat writes to aXMLEventWriter.static XMLStreamWritercreateEventStreamWriter(XMLEventWriter eventWriter, XMLEventFactory eventFactory) Return aXMLStreamWriterthat writes to aXMLEventWriter.static ResultcreateStaxResult(XMLEventWriter eventWriter) Create a JAXP 1.4StAXResultfor the givenXMLEventWriter.static ResultcreateStaxResult(XMLStreamWriter streamWriter) Create a JAXP 1.4StAXResultfor the givenXMLStreamWriter.static SourcecreateStaxSource(XMLEventReader eventReader) Create a JAXP 1.4StAXSourcefor the givenXMLEventReader.static SourcecreateStaxSource(XMLStreamReader streamReader) Create a JAXP 1.4StAXSourcefor the givenXMLStreamReader.static XMLEventReadercreateXMLEventReader(List<XMLEvent> events) Create aXMLEventReaderfrom the given list ofXMLEvent.static XMLReadercreateXMLReader(XMLEventReader eventReader) Create a SAXXMLReaderthat reads from the given StAXXMLEventReader.static XMLReadercreateXMLReader(XMLStreamReader streamReader) Create a SAXXMLReaderthat reads from the given StAXXMLStreamReader.static @Nullable XMLEventReadergetXMLEventReader(Source source) Return theXMLEventReaderfor the given StAX Source.static @Nullable XMLEventWritergetXMLEventWriter(Result result) Return theXMLEventWriterfor the given StAX Result.static @Nullable XMLStreamReadergetXMLStreamReader(Source source) Return theXMLStreamReaderfor the given StAX Source.static @Nullable XMLStreamWritergetXMLStreamWriter(Result result) Return theXMLStreamWriterfor the given StAX Result.static booleanisStaxResult(Result result) Indicate whether the givenResultis a JAXP 1.4 StAX Result or custom StAX Result.static booleanisStaxSource(Source source) Indicate whether the givenSourceis a JAXP 1.4 StAX Source or custom StAX Source.
- 
Constructor Details- 
StaxUtilspublic StaxUtils()
 
- 
- 
Method Details- 
createDefensiveInputFactoryCreate anXMLInputFactorywith Spring's defensive setup, i.e. no support for the resolution of DTDs and external entities.- Returns:
- a new defensively initialized input factory instance to use
- Since:
- 5.0
 
- 
createDefensiveInputFactorypublic static <T extends XMLInputFactory> T createDefensiveInputFactory(Supplier<T> instanceSupplier) Variant ofcreateDefensiveInputFactory()with a custom instance.- Parameters:
- instanceSupplier- supplier for the input factory instance
- Returns:
- a new defensively initialized input factory instance to use
- Since:
- 5.0.12
 
- 
createStaxSourceCreate a JAXP 1.4StAXSourcefor the givenXMLStreamReader.- Parameters:
- streamReader- the StAX stream reader
- Returns:
- a source wrapping the streamReader
 
- 
createStaxSourceCreate a JAXP 1.4StAXSourcefor the givenXMLEventReader.- Parameters:
- eventReader- the StAX event reader
- Returns:
- a source wrapping the eventReader
- Throws:
- XMLStreamException
 
- 
createCustomStaxSourceCreate a custom, non-JAXP 1.4 StAXSourcefor the givenXMLStreamReader.- Parameters:
- streamReader- the StAX stream reader
- Returns:
- a source wrapping the streamReader
 
- 
createCustomStaxSourceCreate a custom, non-JAXP 1.4 StAXSourcefor the givenXMLEventReader.- Parameters:
- eventReader- the StAX event reader
- Returns:
- a source wrapping the eventReader
 
- 
isStaxSourceIndicate whether the givenSourceis a JAXP 1.4 StAX Source or custom StAX Source.- Returns:
- trueif- sourceis a JAXP 1.4- StAXSourceor custom StAX Source;- falseotherwise
 
- 
getXMLStreamReaderReturn theXMLStreamReaderfor the given StAX Source.- Parameters:
- source- a JAXP 1.4- StAXSource
- Returns:
- the XMLStreamReader
- Throws:
- IllegalArgumentException- if- sourceisn't a JAXP 1.4- StAXSourceor custom StAX Source
 
- 
getXMLEventReaderReturn theXMLEventReaderfor the given StAX Source.- Parameters:
- source- a JAXP 1.4- StAXSource
- Returns:
- the XMLEventReader
- Throws:
- IllegalArgumentException- if- sourceisn't a JAXP 1.4- StAXSourceor custom StAX Source
 
- 
createStaxResultCreate a JAXP 1.4StAXResultfor the givenXMLStreamWriter.- Parameters:
- streamWriter- the StAX stream writer
- Returns:
- a result wrapping the streamWriter
 
- 
createStaxResultCreate a JAXP 1.4StAXResultfor the givenXMLEventWriter.- Parameters:
- eventWriter- the StAX event writer
- Returns:
- a result wrapping streamReader
 
- 
createCustomStaxResultCreate a custom, non-JAXP 1.4 StAXResultfor the givenXMLStreamWriter.- Parameters:
- streamWriter- the StAX stream writer
- Returns:
- a source wrapping the streamWriter
 
- 
createCustomStaxResultCreate a custom, non-JAXP 1.4 StAXResultfor the givenXMLEventWriter.- Parameters:
- eventWriter- the StAX event writer
- Returns:
- a source wrapping the eventWriter
 
- 
isStaxResultIndicate whether the givenResultis a JAXP 1.4 StAX Result or custom StAX Result.- Returns:
- trueif- resultis a JAXP 1.4- StAXResultor custom StAX Result;- falseotherwise
 
- 
getXMLStreamWriterReturn theXMLStreamWriterfor the given StAX Result.- Parameters:
- result- a JAXP 1.4- StAXResult
- Returns:
- the XMLStreamReader
- Throws:
- IllegalArgumentException- if- sourceisn't a JAXP 1.4- StAXResultor custom StAX Result
 
- 
getXMLEventWriterReturn theXMLEventWriterfor the given StAX Result.- Parameters:
- result- a JAXP 1.4- StAXResult
- Returns:
- the XMLStreamReader
- Throws:
- IllegalArgumentException- if- sourceisn't a JAXP 1.4- StAXResultor custom StAX Result
 
- 
createXMLEventReaderCreate aXMLEventReaderfrom the given list ofXMLEvent.- Parameters:
- events- the list of- XMLEvents.
- Returns:
- an XMLEventReaderthat reads from the given events
- Since:
- 5.0
 
- 
createContentHandlerCreate a SAXContentHandlerthat writes to the given StAXXMLStreamWriter.- Parameters:
- streamWriter- the StAX stream writer
- Returns:
- a content handler writing to the streamWriter
 
- 
createContentHandlerCreate a SAXContentHandlerthat writes events to the given StAXXMLEventWriter.- Parameters:
- eventWriter- the StAX event writer
- Returns:
- a content handler writing to the eventWriter
 
- 
createXMLReaderCreate a SAXXMLReaderthat reads from the given StAXXMLStreamReader.- Parameters:
- streamReader- the StAX stream reader
- Returns:
- a XMLReader reading from the streamWriter
 
- 
createXMLReaderCreate a SAXXMLReaderthat reads from the given StAXXMLEventReader.- Parameters:
- eventReader- the StAX event reader
- Returns:
- a XMLReader reading from the eventWriter
 
- 
createEventStreamReaderpublic static XMLStreamReader createEventStreamReader(XMLEventReader eventReader) throws XMLStreamException Return aXMLStreamReaderthat reads from aXMLEventReader. Useful because the StAXXMLInputFactoryallows one to create an event reader from a stream reader, but not vice-versa.- Returns:
- a stream reader that reads from an event reader
- Throws:
- XMLStreamException
 
- 
createEventStreamWriterReturn aXMLStreamWriterthat writes to aXMLEventWriter.- Returns:
- a stream writer that writes to an event writer
- Since:
- 3.2
 
- 
createEventStreamWriterpublic static XMLStreamWriter createEventStreamWriter(XMLEventWriter eventWriter, XMLEventFactory eventFactory) Return aXMLStreamWriterthat writes to aXMLEventWriter.- Returns:
- a stream writer that writes to an event writer
- Since:
- 3.0.5
 
 
-