public final class XmlUtil extends Object
Modifier and Type | Field and Description |
---|---|
static char |
DOUBLE_QUOTE |
static char |
NO_DELIM |
static char |
SINGLE_QUOTE |
Modifier and Type | Method and Description |
---|---|
static void |
escape(StringBuilder b,
String s,
char delim)
Escapes the given string and appends to the given buffer
|
static Element |
findImmediateChildElement(Node node,
String name)
Find an immediate child of the given name
|
static String |
getAttribute(Element e,
String name)
Return the value of an attribute on an element.
|
static String |
getContent(Element e)
Return the content of the given element.
|
static Element |
getFirstChildElement(Node node)
Returns the First child element or null if none found
|
static Element |
getNextElement(Node node)
Get the next right sibling that is an element.
|
static Document |
parseString(String xml)
Parses a string without validation and returns the Document.
|
public static final char NO_DELIM
public static final char DOUBLE_QUOTE
public static final char SINGLE_QUOTE
public static Document parseString(String xml) throws IOException, SAXException, ParserConfigurationException
public static String getAttribute(Element e, String name)
The DOM getAttribute method returns an empty string if the attribute doesn't exist. Here, we detect this and return null.
public static Element findImmediateChildElement(Node node, String name)
public static Element getFirstChildElement(Node node)
node
- The node. May be null.public static Element getNextElement(Node node)
public static String getContent(Element e)
We will descend to an arbitrary depth looking for the first text node.
Note that the parser may break what was originally a single string of pcdata into multiple adjacent text nodes. Xerces appears to do this when it encounters a '$' in the text, not sure if there is specified behavior, or if its parser specific.
Here, we will congeal adjacent text nodes.
We will NOT ignore text nodes that have only whitespace.
public static void escape(StringBuilder b, String s, char delim)
b
- The buffers
- The script to be escaped. May be null.delim
- May be SINGLE_QUOTE
, DOUBLE_QUOTE
, or
NO_DELIM
.Copyright © 2010–2018 ForgeRock AS. All rights reserved.