def get_argument_value(root, argument_name):
    """
    Takes an etree-root object, which is a parsed soap-response from the
    Fritz!Box, and an argument_name, which corresponds to a node-name in
    the element-tree hierarchy. Returns the text-attribute of the node
    as a string.
    Raise an AttributeError in case that a node is not found.
    """
    # root.find will() raise the AttributeError on unknown nodes
    value = root.find(f".//{argument_name}").text
    if value is None:
        # this will be the case on empty tags: <tag></tag>
        value = ""
    return value