def xml_node_text(node, include_children=True):
    """
    Extract the raw text from an XML element.

    :param node: the XML element, usually ``<content>``.
    :type node: :class:`etree.Element`
    :param include_children: whether or not to get the text of the children as well.
    :type include_children: :class:`bool` - optional, default = True

    :return: a string of the text of the node without any markup.
    :rtype: :class:`str`
    """

    if node.text:
        node_text = node.text
    else:
        node_text = ''

    if include_children:
        for child in node.getchildren():
            if child.text:
                node_text += child.text
            if child.tail:
                node_text += child.tail

    else:
        for child in node.getchildren():
            if child.tail:
                node_text += child.tail.strip()

    return node_text