Package org.springframework.util.xml
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; as of Spring 4.0, 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
 
 
-