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–2017 The Apache Software Foundation. All rights reserved.