public class XMLUtils extends Object
Modifier and Type | Class and Description |
---|---|
static class |
XMLUtils.ParserErrorHandler |
Modifier and Type | Field and Description |
---|---|
protected static boolean |
enableParserReuse |
static String |
httpAuthCharEncoding |
protected static org.apache.commons.logging.Log |
log |
Constructor and Description |
---|
XMLUtils() |
Modifier and Type | Method and Description |
---|---|
static Element[] |
asElementArray(List list)
Converts a List with org.w3c.dom.Element objects to an Array
with org.w3c.dom.Element objects.
|
static String |
base64encode(byte[] bytes) |
static void |
DocumentToStream(Document doc,
OutputStream out) |
static String |
DocumentToString(Document doc)
turn a whole DOM document into XML
|
static void |
DocumentToWriter(Document doc,
Writer writer) |
static void |
ElementToStream(Element element,
OutputStream out) |
static String |
ElementToString(Element element)
turn an element into an XML fragment
|
static void |
ElementToWriter(Element element,
Writer writer) |
static Node |
findNode(Node node,
QName name)
Find a Node with a given QName
|
static String |
getChildCharacterData(Element parentEl)
Concat all the text and cdata node children of this elem and return
the resulting text.
|
static DocumentBuilder |
getDocumentBuilder()
Gets a DocumentBuilder
|
static InputSource |
getEmptyInputSource() |
static String |
getEncoding()
Get the current encoding in effect
|
static String |
getEncoding(MessageContext msgContext)
Get the current encoding in effect
|
static String |
getEncoding(Message message,
MessageContext msgContext) |
static String |
getEncoding(Message message,
MessageContext msgContext,
XMLEncoder defaultEncoder) |
static QName |
getFullQNameFromString(String str,
Node e)
Return a QName when passed a string like "foo:bar" by mapping
the "foo" prefix to a namespace in the context of the given Node.
|
static String |
getInnerXMLString(Element element)
get the inner XML inside an element as a string.
|
static InputSource |
getInputSourceFromURI(String uri)
Utility to get the bytes uri.
|
static String |
getNamespace(String prefix,
Node e) |
static String |
getNamespace(String prefix,
Node e,
Node stopNode)
Searches for the namespace URI of the given prefix in the given DOM range.
|
static String |
getPrefix(String uri,
Node e) |
static QName |
getQNameFromString(String str,
Node e)
Return a QName when passed a string like "foo:bar" by mapping
the "foo" prefix to a namespace in the context of the given Node.
|
static SAXParser |
getSAXParser()
Get a SAX parser instance from the JAXP factory.
|
static String |
getStringForQName(QName qname,
Element e)
Return a string for a particular QName, mapping a new prefix
if necessary.
|
static XMLEncoder |
getXMLEncoder(MessageContext msgContext)
Get the current XMLEncoder
|
static XMLEncoder |
getXMLEncoder(String encoding)
Get the XMLEncoder for specific encoding
|
static void |
initSAXFactory(String factoryClassName,
boolean namespaceAware,
boolean validating)
Initialize the SAX parser factory.
|
static Document |
newDocument()
Get an empty new Document
|
static Document |
newDocument(InputSource inp)
Get a new Document read from the input source
|
static Document |
newDocument(InputStream inp)
Get a new Document read from the input stream
|
static Document |
newDocument(String uri)
Get a new Document read from the indicated uri
|
static Document |
newDocument(String uri,
String username,
String password)
Create a new document from the given URI, use the username and password
if the URI requires authentication.
|
static void |
normalize(Node node)
Trim all new lines from text nodes.
|
static void |
PrettyDocumentToStream(Document doc,
OutputStream out) |
static String |
PrettyDocumentToString(Document doc) |
static void |
PrettyDocumentToWriter(Document doc,
Writer writer) |
static void |
PrettyElementToStream(Element element,
OutputStream out) |
static void |
PrettyElementToWriter(Element element,
Writer writer) |
static void |
privateElementToWriter(Element element,
Writer writer,
boolean omitXMLDecl,
boolean pretty) |
static void |
releaseDocumentBuilder(DocumentBuilder db)
Releases a DocumentBuilder
|
static void |
releaseSAXParser(SAXParser parser)
Return a SAX parser for reuse.
|
static InputSource |
sourceToInputSource(Source source)
Utility to get the bytes uri
|
static Element |
StringToElement(String namespace,
String name,
String string)
Convert a simple string to an element with a text node
|
static String |
trim(String str) |
static String |
xmlEncodeString(String orig)
Encode a string appropriately for XML.
|
protected static org.apache.commons.logging.Log log
public static final String httpAuthCharEncoding
protected static boolean enableParserReuse
public static String xmlEncodeString(String orig)
orig
- the String to encodepublic static XMLEncoder getXMLEncoder(MessageContext msgContext)
public static XMLEncoder getXMLEncoder(String encoding)
public static String getEncoding(MessageContext msgContext)
public static String getEncoding()
public static void initSAXFactory(String factoryClassName, boolean namespaceAware, boolean validating)
factoryClassName
- The (optional) class name of the desired
SAXParserFactory implementation. Will be
assigned to the system property
javax.xml.parsers.SAXParserFactory
unless this property is already set.
If null
, leaves current setting
alone.namespaceAware
- true if we want a namespace-aware parservalidating
- true if we want a validating parserpublic static DocumentBuilder getDocumentBuilder() throws ParserConfigurationException
ParserConfigurationException
public static void releaseDocumentBuilder(DocumentBuilder db)
db
- public static SAXParser getSAXParser()
public static void releaseSAXParser(SAXParser parser)
parser
- A SAX parser that is available for reusepublic static Document newDocument() throws ParserConfigurationException
ParserConfigurationException
- if construction problems occurpublic static Document newDocument(InputSource inp) throws ParserConfigurationException, SAXException, IOException
ParserConfigurationException
- if construction problems occurSAXException
- if the document has xml sax problemsIOException
- if i/o exceptions occurpublic static Document newDocument(InputStream inp) throws ParserConfigurationException, SAXException, IOException
ParserConfigurationException
- if construction problems occurSAXException
- if the document has xml sax problemsIOException
- if i/o exceptions occurpublic static Document newDocument(String uri) throws ParserConfigurationException, SAXException, IOException
ParserConfigurationException
- if construction problems occurSAXException
- if the document has xml sax problemsIOException
- if i/o exceptions occurpublic static Document newDocument(String uri, String username, String password) throws ParserConfigurationException, SAXException, IOException
uri
- the resource to getusername
- basic auth usernamepassword
- basic auth passwordParserConfigurationException
- if construction problems occurSAXException
- if the document has xml sax problemsIOException
- if i/o exceptions occurpublic static String ElementToString(Element element)
element
- public static String DocumentToString(Document doc)
doc
- DOM documentpublic static void privateElementToWriter(Element element, Writer writer, boolean omitXMLDecl, boolean pretty)
public static void ElementToStream(Element element, OutputStream out)
public static void PrettyElementToStream(Element element, OutputStream out)
public static void DocumentToStream(Document doc, OutputStream out)
public static void PrettyDocumentToStream(Document doc, OutputStream out)
public static Element StringToElement(String namespace, String name, String string)
namespace
- - element namespacename
- - element namestring
- - value of the text nodepublic static String getInnerXMLString(Element element)
element
- public static String getNamespace(String prefix, Node e, Node stopNode)
prefix
- the prefix to finde
- the starting nodestopNode
- null to search in all the document or a parent node where the search must stop.public static QName getQNameFromString(String str, Node e)
public static QName getFullQNameFromString(String str, Node e)
public static String getStringForQName(QName qname, Element e)
public static String getChildCharacterData(Element parentEl)
parentEl
- the element whose cdata/text node values are to
be combined.public static InputSource getInputSourceFromURI(String uri)
uri
- the resource to getgetInputSourceFromURI(String uri, String username, String password)
public static InputSource sourceToInputSource(Source source)
source
- the resource to getpublic static final String base64encode(byte[] bytes)
public static InputSource getEmptyInputSource()
public static Node findNode(Node node, QName name)
node
- parent nodename
- QName of the child we need to findpublic static void normalize(Node node)
node
- public static Element[] asElementArray(List list)
list
- List containing org.w3c.dom.Element objectspublic static String getEncoding(Message message, MessageContext msgContext)
public static String getEncoding(Message message, MessageContext msgContext, XMLEncoder defaultEncoder)
Copyright © The Apache Software Foundation. All Rights Reserved.