Package org.htmlunit.util

# Class XmlUtils

java.lang.Object
org.htmlunit.util.XmlUtils

public final class XmlUtils extends Object
INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
Provides facility method to work with XML responses.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static void`
  `appendChild(SgmlPage page, DomNode parent, Node child, boolean handleXHTMLAsHTML)`
  Recursively appends a `Node` child to `DomNode` parent.
  `static void`
  `appendChild(SgmlPage page, DomNode parent, Node child, boolean handleXHTMLAsHTML, Map<Integer,List<String>> attributesOrderMap)`
  Recursively appends a `Node` child to `DomNode` parent.
  `static Document`
  `buildDocument(WebResponse webResponse)`
  Builds a document from the content of the web response.
  `static Map<Integer,List<String>>`
  `getAttributesOrderMap(Document document)`
  Returns internal Xerces details about all elements in the specified document.
  `static String`
  `lookupNamespaceURI(DomElement element, String prefix)`
  Search for the namespace URI of the given prefix, starting from the specified element.
  `static String`
  `lookupPrefix(DomElement element, String namespace)`
  Search for the prefix associated with specified namespace URI.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Method Details

  - ### buildDocument

    public static Document buildDocument(WebResponse webResponse) throws IOException, SAXException, ParserConfigurationException
    Builds a document from the content of the web response. A warning is logged if an exception is thrown while parsing the XML content (for instance when the content is not a valid XML and can't be parsed).
    Parameters:
      `webResponse` - the response from the server
    Returns:
      the parse result
    Throws:
      `IOException` - if the page could not be created
      `SAXException` - if the parsing fails
      `ParserConfigurationException` - if a DocumentBuilder cannot be created

  - ### appendChild

    public static void appendChild(SgmlPage page, DomNode parent, Node child, boolean handleXHTMLAsHTML)
    Recursively appends a `Node` child to `DomNode` parent.
    Parameters:
      `page` - the owner page of `DomElement`s to be created
      `parent` - the parent DomNode
      `child` - the child Node
      `handleXHTMLAsHTML` - if true elements from the XHTML namespace are handled as HTML elements instead of DOM elements

  - ### appendChild

    public static void appendChild(SgmlPage page, DomNode parent, Node child, boolean handleXHTMLAsHTML, Map<Integer,List<String>> attributesOrderMap)
    Recursively appends a `Node` child to `DomNode` parent.
    Parameters:
      `page` - the owner page of `DomElement`s to be created
      `parent` - the parent DomNode
      `child` - the child Node
      `handleXHTMLAsHTML` - if true elements from the XHTML namespace are handled as HTML elements instead of DOM elements
      `attributesOrderMap` - (optional) the one returned by `getAttributesOrderMap(Document)`

  - ### lookupNamespaceURI

    public static String lookupNamespaceURI(DomElement element, String prefix)
    Search for the namespace URI of the given prefix, starting from the specified element. The default namespace can be searched for by specifying "" as the prefix.
    Parameters:
      `element` - the element to start searching from
      `prefix` - the namespace prefix
    Returns:
      the namespace URI bound to the prefix; or null if there is no such namespace

  - ### lookupPrefix

    public static String lookupPrefix(DomElement element, String namespace)
    Search for the prefix associated with specified namespace URI.
    Parameters:
      `element` - the element to start searching from
      `namespace` - the namespace prefix
    Returns:
      the prefix bound to the namespace URI; or null if there is no such namespace

  - ### getAttributesOrderMap

    public static Map<Integer,List<String>> getAttributesOrderMap(Document document)
    Returns internal Xerces details about all elements in the specified document. The id of the returned `Map` is the `nodeIndex` of an element, and the list is the array of ordered attributes names.
    Parameters:
      `document` - the document
    Returns:
      the map of an element index with its ordered attribute names