Class XmlWriter

java.lang.Object
org.dbunit.util.xml.XmlWriter

public class XmlWriter extends Object
Makes writing XML much much easier. Improved from article
Since:
1.0
Version:
$Revision$ $Date$
Author:
Henri Yandell, Peter Cassetta, Last changed by: $Author$
  • Field Details

  • Constructor Details

    • XmlWriter

      public XmlWriter(Writer writer)
      Create an XmlWriter on top of an existing java.io.Writer.
    • XmlWriter

      public XmlWriter(Writer writer, Charset charset)
      Create an XmlWriter on top of an existing java.io.Writer.
    • XmlWriter

      public XmlWriter(OutputStream outputStream, Charset charset)
      Create an XmlWriter on top of an existing OutputStream.
      Parameters:
      outputStream -
      charset - The charset to be used for writing to the given output stream. Can be null. If it is null the DEFAULT_ENCODING is used.
      Since:
      2.4
  • Method Details

    • enablePrettyPrint

      public void enablePrettyPrint(boolean enable)
      Turn pretty printing on or off. Pretty printing is enabled by default, but it can be turned off to generate more compact XML.
      Parameters:
      enable - true to enable, false to disable pretty printing.
    • setIndent

      public void setIndent(String indent)
      Specify the string to prepend to a line for each level of indent. It is 2 spaces (" ") by default. Some may prefer a single tab ("\t") or a different number of spaces. Specifying an empty string will turn off indentation when pretty printing.
      Parameters:
      indent - representing one level of indentation while pretty printing.
    • setNewline

      public void setNewline(String newline)
      Specify the string used to terminate each line when pretty printing. It is a single newline ("\n") by default. Users who need to read generated XML documents in Windows editors like Notepad may wish to set this to a carriage return/newline sequence ("\r\n"). Specifying an empty string will turn off generation of line breaks when pretty printing.
      Parameters:
      newline - representing the newline sequence when pretty printing.
    • writeElementWithText

      public XmlWriter writeElementWithText(String name, String text) throws IOException
      A helper method. It writes out an element which contains only text.
      Parameters:
      name - String name of tag
      text - String of text to go inside the tag
      Throws:
      IOException
    • writeEmptyElement

      public XmlWriter writeEmptyElement(String name) throws IOException
      A helper method. It writes out empty entities.
      Parameters:
      name - String name of tag
      Throws:
      IOException
    • writeElement

      public XmlWriter writeElement(String name) throws IOException
      Begin to write out an element. Unlike the helper tags, this tag will need to be ended with the endElement method.
      Parameters:
      name - String name of tag
      Throws:
      IOException
    • writeAttribute

      public XmlWriter writeAttribute(String attr, String value) throws IOException
      Write an attribute out for the current element. Any XML characters in the value are escaped. Currently it does not actually throw the exception, but the API is set that way for future changes.
      Parameters:
      attr - name of attribute.
      value - value of attribute.
      Throws:
      IOException
      See Also:
    • writeAttribute

      public XmlWriter writeAttribute(String attr, String value, boolean literally) throws IOException
      Write an attribute out for the current element. Any XML characters in the value are escaped. Currently it does not actually throw the exception, but the API is set that way for future changes.
      Parameters:
      attr - name of attribute.
      value - value of attribute.
      literally - If the writer should be literally on the given value which means that meta characters will also be preserved by escaping them. Mainly preserves newlines and tabs.
      Throws:
      IOException
    • endElement

      public XmlWriter endElement() throws IOException
      End the current element. This will throw an exception if it is called when there is not a currently open element.
      Throws:
      IOException
    • close

      public void close() throws IOException
      Close this writer. It does not close the underlying writer, but does throw an exception if there are as yet unclosed tags.
      Throws:
      IOException
    • writeText

      public XmlWriter writeText(String text) throws IOException
      Output body text. Any XML characters are escaped.
      Parameters:
      text - The text to be written
      Returns:
      This writer
      Throws:
      IOException
      See Also:
    • writeText

      public XmlWriter writeText(String text, boolean literally) throws IOException
      Output body text. Any XML characters are escaped.
      Parameters:
      text - The text to be written
      literally - If the writer should be literally on the given value which means that meta characters will also be preserved by escaping them. Mainly preserves newlines and tabs.
      Returns:
      This writer
      Throws:
      IOException
    • writeCData

      public XmlWriter writeCData(String cdata) throws IOException
      Write out a chunk of CDATA. This helper method surrounds the passed in data with the CDATA tag.
      Parameters:
      cdata - of CDATA text.
      Throws:
      IOException
    • writeComment

      public XmlWriter writeComment(String comment) throws IOException
      Write out a chunk of comment. This helper method surrounds the passed in data with the XML comment tag.
      Parameters:
      comment - of text to comment.
      Throws:
      IOException
    • main

      public static void main(String[] args) throws IOException
      Throws:
      IOException
    • test1

      public static void test1() throws IOException
      Throws:
      IOException
    • test2

      public static void test2() throws IOException
      Throws:
      IOException
    • convertCharacterToEntity

      protected String convertCharacterToEntity(char currentChar, boolean literally)
    • setWriter

      public final void setWriter(Writer writer, String encoding)
      Resets the handler to write a new text document.
      Parameters:
      writer - XML text is written to this writer.
      encoding - if non-null, and an XML declaration is written, this is the name that will be used for the character encoding.
      Throws:
      IllegalStateException - if the current document hasn't yet ended (i.e. the output stream out is not null)
    • setWriter

      public final void setWriter(Writer writer, Charset charset)
    • writeDeclaration

      public XmlWriter writeDeclaration() throws IOException
      Throws:
      IOException
    • writeDoctype

      public XmlWriter writeDoctype(String systemId, String publicId) throws IOException
      Throws:
      IOException