예제 #1
0
def _getNextText(element):
    while element is not None:
        if lxmlutil.isVisibleElement(element) and element.text:
            return element.text.strip()
        elif element.tail:
            return element.tail.strip()
        element = lxmlutil.getFullNext(element)
    return None
예제 #2
0
def _getChildTextLength(element):
    result = 0
    for item in element.getchildren():
        if lxmlutil.isVisibleElement(item):
            result += _getParagraphLengthByLink(item)
        if item.tail:
            result += len(item.tail.strip())
    return result
예제 #3
0
def _getMaxChildTag(element):
    result = {}
    for item in element.getchildren():
        textlen = 0
        if lxmlutil.isVisibleElement(item):
            textlen += _getParagraphLengthByLink(item)
        if item.tail:
            textlen += len(item.tail.strip())
        if item.tag in result:
            result[item.tag] += textlen
        else:
            result[item.tag] = textlen
    return max(result.iterkeys(), key=(lambda key: result[key]))