Package org.dom4j

Class DocumentHelper


  • public final class DocumentHelper
    extends Object
    DocumentHelper is a collection of helper methods for using DOM4J.
    • Method Detail

      • createDocument

        public static Document createDocument()
      • createDocument

        public static Document createDocument​(Element rootElement)
      • createElement

        public static Element createElement​(QName qname)
      • createElement

        public static Element createElement​(String name)
      • createCDATA

        public static CDATA createCDATA​(String text)
      • createComment

        public static Comment createComment​(String text)
      • createText

        public static Text createText​(String text)
      • createQName

        public static QName createQName​(String localName)
      • createXPath

        public static XPath createXPath​(String xpathExpression)
                                 throws InvalidXPathException

        createXPath parses an XPath expression and creates a new XPath XPath instance using the singleton DocumentFactory.

        Parameters:
        xpathExpression - is the XPath expression to create
        Returns:
        a new XPath instance
        Throws:
        InvalidXPathException - if the XPath expression is invalid
      • createXPath

        public static XPath createXPath​(String xpathExpression,
                                        org.jaxen.VariableContext context)
                                 throws InvalidXPathException

        createXPath parses an XPath expression and creates a new XPath XPath instance using the singleton DocumentFactory.

        Parameters:
        xpathExpression - is the XPath expression to create
        context - is the variable context to use when evaluating the XPath
        Returns:
        a new XPath instance
        Throws:
        InvalidXPathException - if the XPath expression is invalid
      • createXPathFilter

        public static NodeFilter createXPathFilter​(String xpathFilterExpression)

        createXPathFilter parses a NodeFilter from the given XPath filter expression using the singleton DocumentFactory. XPath filter expressions occur within XPath expressions such as self::node()[ filterExpression ]

        Parameters:
        xpathFilterExpression - is the XPath filter expression to create
        Returns:
        a new NodeFilter instance
      • createPattern

        public static Pattern createPattern​(String xpathPattern)

        createPattern parses the given XPath expression to create an XSLT style Patterninstance which can then be used in an XSLT processing model.

        Parameters:
        xpathPattern - is the XPath pattern expression to create
        Returns:
        a new Pattern instance
      • selectNodes

        public static List<Node> selectNodes​(String xpathFilterExpression,
                                             List<Node> nodes)

        selectNodes performs the given XPath expression on the Listof Nodeinstances appending all the results together into a single list.

        Parameters:
        xpathFilterExpression - is the XPath filter expression to evaluate
        nodes - is the list of nodes on which to evalute the XPath
        Returns:
        the results of all the XPath evaluations as a single list
      • selectNodes

        public static List<Node> selectNodes​(String xpathFilterExpression,
                                             Node node)

        selectNodes performs the given XPath expression on the Listof Nodeinstances appending all the results together into a single list.

        Parameters:
        xpathFilterExpression - is the XPath filter expression to evaluate
        node - is the Node on which to evalute the XPath
        Returns:
        the results of all the XPath evaluations as a single list
      • sort

        public static void sort​(List<Node> list,
                                String xpathExpression)

        sort sorts the given List of Nodes using an XPath expression as a Comparator.

        Parameters:
        list - is the list of Nodes to sort
        xpathExpression - is the XPath expression used for comparison
      • sort

        public static void sort​(List<Node> list,
                                String expression,
                                boolean distinct)

        sort sorts the given List of Nodes using an XPath expression as a Comparatorand optionally removing duplicates.

        Parameters:
        list - is the list of Nodes to sort
        expression - is the XPath expression used for comparison
        distinct - if true then duplicate values (using the sortXPath for comparisions) will be removed from the List
      • parseText

        public static Document parseText​(String text)
                                  throws DocumentException

        parseText parses the given text as an XML document and returns the newly created Document.

        Loading external DTD and entities is disabled (if it is possible) for security reasons.
        Parameters:
        text - the XML text to be parsed
        Returns:
        a newly parsed Document
        Throws:
        DocumentException - if the document could not be parsed
      • makeElement

        public static Element makeElement​(Branch source,
                                          String path)

        makeElement

        a helper method which navigates from the given Document or Element node to some Element using the path expression, creating any necessary elements along the way. For example the path a/b/c would get the first child <a> element, which would be created if it did not exist, then the next child <b> and so on until finally a <c> element is returned.
        Parameters:
        source - is the Element or Document to start navigating from
        path - is a simple path expression, seperated by '/' which denotes the path from the source to the resulting element such as a/b/c
        Returns:
        the first Element on the given path which either already existed on the path or were created by this method.