найти начальные и конечные смещения символов во время iterparse'ing - PullRequest
0 голосов
/ 24 августа 2018

Найден этот вопрос получен ответ, но ответ обходит часть «смещения».

мой код (с использованием from xml.etree.ElementTree import iterparse):

def myparse(self)
    context = iterparse(self.source, events=("start", "end", "start-ns"))
    self.root = None

    for event, elem in context:
        if event == "start-ns" and elem[0] == "":
            self.uri = elem[1]
            continue
        if event == "start" and self.root is None:
            self.root = elem
            continue
        if event == "end" and elem.tag == "{%s}page" % self.uri:
            thetext = revision.findtext("{%s}text" % self.uri)
            theposition = 0#TODO: find the position if possible
            yield thetext, theposition
            elem.clear()
            self.root.clear()

Я спрашиваю, есть ли что-то вроде expat 's GetCurrentByteIndex.

Итак:

Как найти смещение во входной строке или файле элемента (начальное или конечное смещение или оба) при выполнении итерации с xml.etree.ElementTree.iterparse?

...