Package groovy.xml

Class XmlUtil

java.lang.Object
groovy.xml.XmlUtil

public class XmlUtil extends Object
Used for pretty printing XML content and other XML related utilities.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static String
    Escape control characters (below 0x20) with their XML entities, e.g.
    static String
    Escape the following characters " ' & < > with their XML entities, e.g.
    static SAXParser
    newSAXParser(String schemaLanguage, boolean namespaceAware, boolean validating, boolean allowDoctypeDecl, Source... schemas)
    Factory method to create a SAXParser configured to validate according to a particular schema language and optionally providing the schema sources to validate with.
    static SAXParser
    newSAXParser(String schemaLanguage, boolean namespaceAware, boolean validating, File schema)
    Factory method to create a SAXParser configured to validate according to a particular schema language and a File containing the schema to validate against.
    static SAXParser
    newSAXParser(String schemaLanguage, boolean namespaceAware, boolean validating, URL schema)
    Factory method to create a SAXParser configured to validate according to a particular schema language and a URL pointing to the schema to validate against.
    static SAXParser
    newSAXParser(String schemaLanguage, boolean namespaceAware, boolean validating, Source... schemas)
    Factory method to create a SAXParser configured to validate according to a particular schema language and optionally providing the schema sources to validate with.
    static SAXParser
    newSAXParser(String schemaLanguage, File schema)
    Factory method to create a SAXParser configured to validate according to a particular schema language and a File containing the schema to validate against.
    static SAXParser
    newSAXParser(String schemaLanguage, URL schema)
    Factory method to create a SAXParser configured to validate according to a particular schema language and a URL pointing to the schema to validate against.
    static SAXParser
    newSAXParser(String schemaLanguage, Source... schemas)
    Factory method to create a SAXParser configured to validate according to a particular schema language and optionally providing the schema sources to validate with.
    static String
    serialize(Writable writable)
    Return a pretty String version of the XML content produced by the Writable.
    static void
    Write a pretty version of the XML content produced by the Writable to the OutputStream.
    static void
    serialize(Writable writable, Writer w)
    Write a pretty version of the XML content produced by the Writable to the Writer.
    static String
    Return a pretty String version of the Node.
    static void
    Write a pretty version of the Node to the OutputStream.
    static void
    serialize(Node node, Writer w)
    Write a pretty version of the Node to the Writer.
    static String
    Return a pretty version of the GPathResult.
    static void
    Write a pretty version of the GPathResult to the OutputStream.
    static void
    Write a pretty version of the GPathResult to the Writer.
    static String
    serialize(String xmlString)
    Return a pretty version of the XML content contained in the given String.
    static String
    serialize(String xmlString, boolean allowDocTypeDeclaration)
    Return a pretty version of the XML content contained in the given String.
    static void
    serialize(String xmlString, OutputStream os)
    Write a pretty version of the given XML string to the OutputStream.
    static void
    serialize(String xmlString, OutputStream os, boolean allowDocTypeDeclaration)
    Write a pretty version of the given XML string to the OutputStream.
    static void
    serialize(String xmlString, Writer w)
    Write a pretty version of the given XML string to the Writer.
    static void
    serialize(String xmlString, Writer w, boolean allowDocTypeDeclaration)
    Write a pretty version of the given XML string to the Writer.
    static String
    serialize(Element element)
    Return a pretty String version of the Element.
    static String
    serialize(Element element, boolean allowDocTypeDeclaration)
    Return a pretty String version of the Element.
    static void
    Write a pretty version of the Element to the OutputStream.
    static void
    serialize(Element element, OutputStream os, boolean allowDocTypeDeclaration)
    Write a pretty version of the Element to the OutputStream.
    static void
    serialize(Element element, Writer w)
    Write a pretty version of the Element to the Writer.
    static void
    serialize(Element element, Writer w, boolean allowDocTypeDeclaration)
    Write a pretty version of the Element to the Writer.
    static void
    setFeatureQuietly(DocumentBuilderFactory factory, String feature, boolean value)
     
    static void
    setFeatureQuietly(SAXParserFactory factory, String feature, boolean value)
     
    static void
    setFeatureQuietly(TransformerFactory factory, String feature, boolean value)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • XmlUtil

      public XmlUtil()
  • Method Details

    • serialize

      public static String serialize(Element element)
      Return a pretty String version of the Element.
      Parameters:
      element - the Element to serialize
      Returns:
      the pretty String representation of the Element
    • serialize

      public static String serialize(Element element, boolean allowDocTypeDeclaration)
      Return a pretty String version of the Element.
      Parameters:
      element - the Element to serialize
      allowDocTypeDeclaration - whether to allow doctype processing
      Returns:
      the pretty String representation of the Element
    • serialize

      public static void serialize(Element element, OutputStream os)
      Write a pretty version of the Element to the OutputStream.
      Parameters:
      element - the Element to serialize
      os - the OutputStream to write to
    • serialize

      public static void serialize(Element element, OutputStream os, boolean allowDocTypeDeclaration)
      Write a pretty version of the Element to the OutputStream.
      Parameters:
      element - the Element to serialize
      os - the OutputStream to write to
      allowDocTypeDeclaration - whether to allow doctype processing
    • serialize

      public static void serialize(Element element, Writer w)
      Write a pretty version of the Element to the Writer.
      Parameters:
      element - the Element to serialize
      w - the Writer to write to
    • serialize

      public static void serialize(Element element, Writer w, boolean allowDocTypeDeclaration)
      Write a pretty version of the Element to the Writer.
      Parameters:
      element - the Element to serialize
      w - the Writer to write to
      allowDocTypeDeclaration - whether to allow doctype processing
    • serialize

      public static String serialize(Node node)
      Return a pretty String version of the Node.
      Parameters:
      node - the Node to serialize
      Returns:
      the pretty String representation of the Node
    • serialize

      public static void serialize(Node node, OutputStream os)
      Write a pretty version of the Node to the OutputStream.
      Parameters:
      node - the Node to serialize
      os - the OutputStream to write to
    • serialize

      public static void serialize(Node node, Writer w)
      Write a pretty version of the Node to the Writer.
      Parameters:
      node - the Node to serialize
      w - the Writer to write to
    • serialize

      public static String serialize(GPathResult node)
      Return a pretty version of the GPathResult.
      Parameters:
      node - a GPathResult to serialize to a String
      Returns:
      the pretty String representation of the GPathResult
    • serialize

      public static void serialize(GPathResult node, OutputStream os)
      Write a pretty version of the GPathResult to the OutputStream.
      Parameters:
      node - a GPathResult to serialize
      os - the OutputStream to write to
    • serialize

      public static void serialize(GPathResult node, Writer w)
      Write a pretty version of the GPathResult to the Writer.
      Parameters:
      node - a GPathResult to serialize
      w - the Writer to write to
    • serialize

      public static String serialize(Writable writable)
      Return a pretty String version of the XML content produced by the Writable.
      Parameters:
      writable - the Writable to serialize
      Returns:
      the pretty String representation of the content from the Writable
    • serialize

      public static void serialize(Writable writable, OutputStream os)
      Write a pretty version of the XML content produced by the Writable to the OutputStream.
      Parameters:
      writable - the Writable to serialize
      os - the OutputStream to write to
    • serialize

      public static void serialize(Writable writable, Writer w)
      Write a pretty version of the XML content produced by the Writable to the Writer.
      Parameters:
      writable - the Writable to serialize
      w - the Writer to write to
    • serialize

      public static String serialize(String xmlString)
      Return a pretty version of the XML content contained in the given String.
      Parameters:
      xmlString - the String to serialize
      Returns:
      the pretty String representation of the original content
    • serialize

      public static String serialize(String xmlString, boolean allowDocTypeDeclaration)
      Return a pretty version of the XML content contained in the given String.
      Parameters:
      xmlString - the String to serialize
      allowDocTypeDeclaration - whether to allow doctype processing
      Returns:
      the pretty String representation of the original content
    • serialize

      public static void serialize(String xmlString, OutputStream os)
      Write a pretty version of the given XML string to the OutputStream.
      Parameters:
      xmlString - the String to serialize
      os - the OutputStream to write to
    • serialize

      public static void serialize(String xmlString, OutputStream os, boolean allowDocTypeDeclaration)
      Write a pretty version of the given XML string to the OutputStream.
      Parameters:
      xmlString - the String to serialize
      allowDocTypeDeclaration - whether to allow doctype processing
      os - the OutputStream to write to
    • serialize

      public static void serialize(String xmlString, Writer w)
      Write a pretty version of the given XML string to the Writer.
      Parameters:
      xmlString - the String to serialize
      w - the Writer to write to
    • serialize

      public static void serialize(String xmlString, Writer w, boolean allowDocTypeDeclaration)
      Write a pretty version of the given XML string to the Writer.
      Parameters:
      xmlString - the String to serialize
      allowDocTypeDeclaration - whether to allow doctype processing
      w - the Writer to write to
    • newSAXParser

      public static SAXParser newSAXParser(String schemaLanguage, Source... schemas) throws SAXException, ParserConfigurationException
      Factory method to create a SAXParser configured to validate according to a particular schema language and optionally providing the schema sources to validate with. The created SAXParser will be namespace-aware and not validate against DTDs.
      Parameters:
      schemaLanguage - the schema language used, e.g. XML Schema or RelaxNG (as per the String representation in javax.xml.XMLConstants)
      schemas - the schemas to validate against
      Returns:
      the created SAXParser
      Throws:
      SAXException
      ParserConfigurationException
      Since:
      1.8.7
      See Also:
    • newSAXParser

      public static SAXParser newSAXParser(String schemaLanguage, boolean namespaceAware, boolean validating, Source... schemas) throws SAXException, ParserConfigurationException
      Factory method to create a SAXParser configured to validate according to a particular schema language and optionally providing the schema sources to validate with.
      Parameters:
      schemaLanguage - the schema language used, e.g. XML Schema or RelaxNG (as per the String representation in javax.xml.XMLConstants)
      namespaceAware - will the parser be namespace aware
      validating - will the parser also validate against DTDs
      schemas - the schemas to validate against
      Returns:
      the created SAXParser
      Throws:
      SAXException
      ParserConfigurationException
      Since:
      1.8.7
    • newSAXParser

      public static SAXParser newSAXParser(String schemaLanguage, boolean namespaceAware, boolean validating, boolean allowDoctypeDecl, Source... schemas) throws SAXException, ParserConfigurationException
      Factory method to create a SAXParser configured to validate according to a particular schema language and optionally providing the schema sources to validate with.
      Parameters:
      schemaLanguage - the schema language used, e.g. XML Schema or RelaxNG (as per the String representation in javax.xml.XMLConstants)
      namespaceAware - will the parser be namespace aware
      validating - will the parser also validate against DTDs
      allowDoctypeDecl - whether to allow doctype declarations (potentially insecure)
      schemas - the schemas to validate against
      Returns:
      the created SAXParser
      Throws:
      SAXException
      ParserConfigurationException
      Since:
      3.0.11
    • newSAXParser

      public static SAXParser newSAXParser(String schemaLanguage, File schema) throws SAXException, ParserConfigurationException
      Factory method to create a SAXParser configured to validate according to a particular schema language and a File containing the schema to validate against. The created SAXParser will be namespace-aware and not validate against DTDs.
      Parameters:
      schemaLanguage - the schema language used, e.g. XML Schema or RelaxNG (as per the String representation in javax.xml.XMLConstants)
      schema - a file containing the schema to validate against
      Returns:
      the created SAXParser
      Throws:
      SAXException
      ParserConfigurationException
      Since:
      1.8.7
      See Also:
    • newSAXParser

      public static SAXParser newSAXParser(String schemaLanguage, boolean namespaceAware, boolean validating, File schema) throws SAXException, ParserConfigurationException
      Factory method to create a SAXParser configured to validate according to a particular schema language and a File containing the schema to validate against.
      Parameters:
      schemaLanguage - the schema language used, e.g. XML Schema or RelaxNG (as per the String representation in javax.xml.XMLConstants)
      namespaceAware - will the parser be namespace aware
      validating - will the parser also validate against DTDs
      schema - a file containing the schema to validate against
      Returns:
      the created SAXParser
      Throws:
      SAXException
      ParserConfigurationException
      Since:
      1.8.7
    • newSAXParser

      public static SAXParser newSAXParser(String schemaLanguage, URL schema) throws SAXException, ParserConfigurationException
      Factory method to create a SAXParser configured to validate according to a particular schema language and a URL pointing to the schema to validate against. The created SAXParser will be namespace-aware and not validate against DTDs.
      Parameters:
      schemaLanguage - the schema language used, e.g. XML Schema or RelaxNG (as per the String representation in javax.xml.XMLConstants)
      schema - a URL pointing to the schema to validate against
      Returns:
      the created SAXParser
      Throws:
      SAXException
      ParserConfigurationException
      Since:
      1.8.7
      See Also:
    • newSAXParser

      public static SAXParser newSAXParser(String schemaLanguage, boolean namespaceAware, boolean validating, URL schema) throws SAXException, ParserConfigurationException
      Factory method to create a SAXParser configured to validate according to a particular schema language and a URL pointing to the schema to validate against.
      Parameters:
      schemaLanguage - the schema language used, e.g. XML Schema or RelaxNG (as per the String representation in javax.xml.XMLConstants)
      namespaceAware - will the parser be namespace aware
      validating - will the parser also validate against DTDs
      schema - a URL pointing to the schema to validate against
      Returns:
      the created SAXParser
      Throws:
      SAXException
      ParserConfigurationException
      Since:
      1.8.7
    • escapeXml

      public static String escapeXml(String orig)
      Escape the following characters " ' & < > with their XML entities, e.g. "bread" & "butter" becomes &quot;bread&quot; &amp; &quot;butter&quot. Notes:
      • Supports only the five basic XML entities (gt, lt, quot, amp, apos)
      • Does not escape control characters
      • Does not support DTDs or external entities
      • Does not treat surrogate pairs specially
      • Does not perform Unicode validation on its input
      Parameters:
      orig - the original String
      Returns:
      A new string in which all characters that require escaping have been replaced with the corresponding XML entities.
      See Also:
    • escapeControlCharacters

      public static String escapeControlCharacters(String orig)
      Escape control characters (below 0x20) with their XML entities, e.g. carriage return (Ctrl-M or \r) becomes &#13; Notes:
      • Does not escape non-ascii characters above 0x7e
      • Does not treat surrogate pairs specially
      • Does not perform Unicode validation on its input
      Parameters:
      orig - the original String
      Returns:
      A new string in which all characters that require escaping have been replaced with the corresponding XML entities.
      See Also:
    • setFeatureQuietly

      public static void setFeatureQuietly(TransformerFactory factory, String feature, boolean value)
    • setFeatureQuietly

      public static void setFeatureQuietly(DocumentBuilderFactory factory, String feature, boolean value)
    • setFeatureQuietly

      public static void setFeatureQuietly(SAXParserFactory factory, String feature, boolean value)