public class XMLUtil extends Object
XMLUtil class provides miscellaneous XML utilities.| Modifier and Type | Field and Description |
|---|---|
static String |
CDATA_SECTION_BEG |
static String |
CDATA_SECTION_END |
protected static boolean |
DEFAULT_DYNAMIC_VALIDATION |
protected static boolean |
DEFAULT_NAMESPACE_PREFIXES |
protected static boolean |
DEFAULT_NAMESPACES |
protected static boolean |
DEFAULT_SCHEMA_FULL_CHECKING |
protected static boolean |
DEFAULT_SCHEMA_VALIDATION |
protected static boolean |
DEFAULT_VALIDATION |
static String |
DYNAMIC_VALIDATION_FEATURE_ID |
protected static String |
FIRST_XML_CHARS |
static String |
NAMESPACE_PREFIXES_FEATURE_ID |
static String |
NAMESPACES_FEATURE_ID
XML parser feature ids
|
static String |
SCHEMA_FULL_CHECKING_FEATURE_ID |
static String |
SCHEMA_VALIDATION_FEATURE_ID |
static String |
VALIDATION_FEATURE_ID |
static String |
XML_ENCODING_TAG |
static String |
XML_HEADER_BEG |
static String |
XML_HEADER_END |
| Constructor and Description |
|---|
XMLUtil()
XMLUtil constructor comment.
|
| Modifier and Type | Method and Description |
|---|---|
static SAXParser |
createSAXParser()
Gets new instance of the
SAXParser class and sets standard features. |
static String |
detectXmlFileEncoding(File xmlFile)
Attempts to detect file encoding of a given XML file by analyzing it's first characters.
|
static boolean |
isValidXmlFile(File xmlFile)
Tries to parse a given XML file using SAX parser.
|
static void |
printAllXMLElements(Properties elements,
PrintWriter oWriter,
int level)
Prints entries of a given
Properties object as XML elements to a given
PrintWriter, maintaining a given indentation level. |
static void |
printAllXMLElements(Properties elements,
String[] tagOrder,
PrintWriter oWriter,
int level)
Prints entries of a given
Properties object as XML elements to a given
PrintWriter, maintaining a specified tag order and a given indentation level. |
static void |
printAllXMLElements(Properties elements,
String valueDelimiter,
String[] tagOrder,
PrintWriter oWriter,
int level)
Prints entries of a given
Properties object as XML elements to a given
PrintWriter, maintaining a specified tag order and a given indentation level. |
static void |
printError(String type,
SAXParseException ex)
Prints SAX error message.
|
static void |
printXMLElement(String tag,
Properties attributes,
PrintWriter oWriter,
int level)
Prints a given XML element, which contains only given attributes, to a given
PrintWriter, maintaining a given indentation level. |
static void |
printXMLElement(String tag,
Properties attributes,
String elemValue,
boolean putInCdataSection,
PrintWriter oWriter,
int level)
Prints a given XML element, which contains given attributes and a given string value, to a
given
PrintWriter, maintaining a given indentation level. |
static void |
printXMLElement(String tag,
Properties attributes,
String elemValue,
boolean putInCdataSection,
PrintWriter oWriter,
int level,
boolean useNewLine4Value)
Prints a given XML element, which contains given attributes and a given string value, to a
given
PrintWriter, maintaining a given indentation level. |
static void |
printXMLElement(String tag,
Properties attributes,
String elemValue,
PrintWriter oWriter,
int level)
Prints a given XML element, which contains given attributes and a given string value, to a
given
PrintWriter, maintaining a given indentation level. |
static void |
printXMLElement(String tag,
String elemValue,
boolean putInCdataSection,
PrintWriter oWriter,
int level)
Prints a given XML element, which contains only a given string value, to a given
PrintWriter, maintaining a given indentation level. |
static void |
printXMLElement(String tag,
String elemValue,
PrintWriter oWriter,
int level)
Prints a given XML element, which contains only a given string value, to a given
PrintWriter, maintaining a given indentation level. |
static void |
printXMLElements(String tag,
String elemValue,
String valueDelimiter,
PrintWriter oWriter,
int level)
Prints multiple values of a given XML element, separated with a specified delimiter, to a given
PrintWriter, maintaining a given indentation level. |
static void |
printXMLElementValue(String elemValue,
boolean putInCdataSection,
PrintWriter oWriter,
int level)
Prints a given element value to a given
PrintWriter, maintaining a given
indentation level. |
static void |
printXMLElementValue(String elemValue,
PrintWriter oWriter,
int level)
Prints a given element value to a given
PrintWriter, maintaining a given
indentation level. |
static void |
printXMLHeader(String encoding,
PrintWriter oWriter)
Prints standard XML 1.0 header with a specified encoding to a given
PrintStream. |
static void |
printXMLTag(String tag,
PrintWriter oWriter,
boolean tagEnd,
int level)
Prints a given XML tag to a given
PrintWriter, maintaining a given indentation
level. |
static void |
printXMLTag(String tag,
Properties attributes,
PrintWriter oWriter,
boolean tagEnd,
int level)
Prints a given XML tag with given element attributes to a given
PrintWriter,
maintaining a given indentation level. |
public static final String XML_HEADER_BEG
public static final String XML_ENCODING_TAG
public static final String XML_HEADER_END
public static final String CDATA_SECTION_BEG
public static final String CDATA_SECTION_END
public static final String NAMESPACES_FEATURE_ID
public static final String NAMESPACE_PREFIXES_FEATURE_ID
public static final String VALIDATION_FEATURE_ID
public static final String SCHEMA_VALIDATION_FEATURE_ID
public static final String SCHEMA_FULL_CHECKING_FEATURE_ID
public static final String DYNAMIC_VALIDATION_FEATURE_ID
protected static final boolean DEFAULT_NAMESPACES
protected static final boolean DEFAULT_NAMESPACE_PREFIXES
protected static final boolean DEFAULT_VALIDATION
protected static final boolean DEFAULT_SCHEMA_VALIDATION
protected static final boolean DEFAULT_SCHEMA_FULL_CHECKING
protected static final boolean DEFAULT_DYNAMIC_VALIDATION
protected static final String FIRST_XML_CHARS
public static SAXParser createSAXParser() throws SAXException
SAXParser class and sets standard features.SAXParser class.SAXException - if any parser exception occurred.public static String detectXmlFileEncoding(File xmlFile) throws IOException
null, otherwise it returns the detected encoding name. For more on UTF
encodings and its signatures see FAQ - UTF and BOM.xmlFile - The given XML file.null, if the file encoding cannot be
recognized or the file is not a valid XML file.IOException - If the given file cannot be read.public static boolean isValidXmlFile(File xmlFile) throws IOException
true, if the parser
does not encounter fatal error, otherwise returns false.xmlFile - The given XML file to be tested.true, if the given XML file can be parsed, false
otherwise.IOException - If the given file cannot be read.public static void printError(String type, SAXParseException ex)
type - typeex - exceptionpublic static void printAllXMLElements(Properties elements, PrintWriter oWriter, int level) throws IOException
Properties object as XML elements to a given
PrintWriter, maintaining a given indentation level.elements - The given Properties object.oWriter - The given PrintWriter object.level - The given indentation level.IOException - if any I/O exception occurred.public static void printAllXMLElements(Properties elements, String valueDelimiter, String[] tagOrder, PrintWriter oWriter, int level) throws IOException
Properties object as XML elements to a given
PrintWriter, maintaining a specified tag order and a given indentation level.
Some elements may contain multiple values delimited by a specified value delimiter. Inserts new
line after each printed element.elements - The given Properties object.valueDelimiter - The specified value delimiter for multi-valued elements.tagOrder - The String array that specifies the tag order.oWriter - The given PrintWriter object.level - The given indentation level.IOException - if any I/O exception occurred.public static void printAllXMLElements(Properties elements, String[] tagOrder, PrintWriter oWriter, int level) throws IOException
Properties object as XML elements to a given
PrintWriter, maintaining a specified tag order and a given indentation level.elements - The given Properties object.tagOrder - The String array that specifies the tag order.oWriter - The given PrintWriter object.level - The given indentation level.IOException - if any I/O exception occurred.public static void printXMLElement(String tag, Properties attributes, PrintWriter oWriter, int level) throws IOException
PrintWriter, maintaining a given indentation level.tag - The given XML tag.attributes - The given XML element attributes.oWriter - The given PrintWriter object.level - The given indentation level (number of marginal '\t' symbols).IOException - if any I/O exception occurred.public static void printXMLElement(String tag, Properties attributes, String elemValue, PrintWriter oWriter, int level) throws IOException
PrintWriter, maintaining a given indentation level. The string element
value (if exists) is printed 'as is' - without a CDATA section.tag - The given XML element tag.attributes - The given XML element attributes.elemValue - The given XML element value.oWriter - The given PrintWriter object.level - The given indentation level (number of marginal '\t' symbols).IOException - if any I/O exception occurred.public static void printXMLElement(String tag, Properties attributes, String elemValue, boolean putInCdataSection, PrintWriter oWriter, int level) throws IOException
PrintWriter, maintaining a given indentation level. The string element
value (if exists) is printed within or without the CDATA section, depending on a given
boolean flag value.tag - The given XML element tag.attributes - The given XML element tag.elemValue - The given XML element value.putInCdataSection - If true, puts the element value in the CDATA section,
otherwise prints the element value without the CDATA section.oWriter - The given PrintWriter object.level - The given indentation level (number of marginal '\t' symbols).IOException - if any I/O exception occurred.public static void printXMLElement(String tag, Properties attributes, String elemValue, boolean putInCdataSection, PrintWriter oWriter, int level, boolean useNewLine4Value) throws IOException
PrintWriter, maintaining a given indentation level. The string element
value (if exists) may be printed inside a CDATA section, depending on the value of a given
'CDATA' boolean flag. The element value may be printed on the same line as the
element tags, or on a new line, depending on the value of a given 'new-line'
boolean flag.tag - The given XML element tag.attributes - The given XML element attributes.elemValue - The given XML element value.putInCdataSection - If true, the given element value is printed inside the CDATA section,
otherwise it's printed 'as is'.oWriter - The given PrintWriter object.level - The given indentation level (number of marginal '\t' symbols).useNewLine4Value - If true, the given element value is printed on a new line, otherwise
it's printed on the same line as the element tags.IOException - if any I/O exception occurred.public static void printXMLElement(String tag, String elemValue, PrintWriter oWriter, int level) throws IOException
PrintWriter, maintaining a given indentation level. The string element value is
printed 'as-is' without the CDATA block.tag - The given XML tag.elemValue - The given XML element value.oWriter - The given PrintWriter object.level - The given indentation level (number of marginal '\t' symbols).IOException - if any I/O exception occurred.public static void printXMLElement(String tag, String elemValue, boolean putInCdataSection, PrintWriter oWriter, int level) throws IOException
PrintWriter, maintaining a given indentation level. The string element value
(if exists) is put into the CDATA block, if a given boolean flag is
true.tag - The given XML tag.elemValue - The given XML element value.putInCdataSection - If true, puts the element value in the CDATA section,
otherwise prints the element value without the CDATA section.oWriter - The given PrintWriter object.level - The given indentation level (number of marginal '\t' symbols).IOException - if any I/O exception occurred.public static void printXMLElements(String tag, String elemValue, String valueDelimiter, PrintWriter oWriter, int level) throws IOException
PrintWriter, maintaining a given indentation level. Inserts new line after each
printed element value.tag - The given XML element tag.elemValue - The given XML element values (multi-value), separated with the given delimiter.valueDelimiter - The given delimiter for multi-value elements.oWriter - The given PrintWriter object.level - The given indentation level (number of marginal '\t' symbols).IOException - if any I/O exception occurred.public static void printXMLElementValue(String elemValue, PrintWriter oWriter, int level) throws IOException
PrintWriter, maintaining a given
indentation level. By default, prints the element value 'as is' - not using the
CDATA section.elemValue - The given element value.oWriter - The given PrintWriter object.level - The given indentation level.IOException - if any I/O exception occurred.public static void printXMLElementValue(String elemValue, boolean putInCdataSection, PrintWriter oWriter, int level) throws IOException
PrintWriter, maintaining a given
indentation level. If a given boolean 'CDATA' flag is true, puts
the element value in the CDATA section, otherwise prints the element value 'as
is'.elemValue - The given element value.putInCdataSection - If true, puts the element value in the CDATA section,
otherwise prints the element value without the CDATA section.oWriter - The given PrintWriter object.level - The given indentation level.IOException - if any I/O exception occurred.public static void printXMLHeader(String encoding, PrintWriter oWriter) throws IOException
PrintStream.
If no encoding is specified (null or empty string), does not include the
encoding name in the header.encoding - The given XML encoding name or null.oWriter - The given output PrintStream.IOException - if any I/O exception occurred.public static void printXMLTag(String tag, PrintWriter oWriter, boolean tagEnd, int level) throws IOException
PrintWriter, maintaining a given indentation
level.tag - The given XML tag.oWriter - The given PrintWriter object.tagEnd - If false prints the XML tag beginning brackets, otherwise prints the
the XML tag ending brackets.level - The given indentation level (number of marginal '\t' symbols).IOException - if any I/O exception occurred.public static void printXMLTag(String tag, Properties attributes, PrintWriter oWriter, boolean tagEnd, int level) throws IOException
PrintWriter,
maintaining a given indentation level.tag - The given XML tag.attributes - The given XML element attributes.oWriter - The given PrintWriter object.tagEnd - If false prints the XML tag beginning brackets, otherwise prints the
the XML tag ending brackets.level - The given indentation level (number of marginal '\t' symbols).IOException - if any I/O exception occurred.Copyright © 2006–2021 The Apache Software Foundation. All rights reserved.