Надеюсь, я правильно спросил.Я пытаюсь выяснить, что делает element.sourceline, и если есть какой-то способ, я могу использовать его возможности.Я пытался создать свои элементы из HTML несколькими способами, но каждый раз, когда я перебираю свои элементы и спрашиваю исходную строку, я всегда получаю None.Когда я попытался использовать встроенную помощь, я тоже ничего не получил.
У меня есть Googled для примера, но пока ничего не найдено.
Я знаю, что это метод элементовне деревья, но это лучшее, что я смог придумать.
В ответ на запрос Джима Гаррисона о примере
theTree=html.parse(open(r'c:\temp\testlxml.htm'))
check_source
the_elements=[(e,e.sourceline) for e in theTree.iter()] #trying to get the sourceline
for each in the_elements:
if each[1]!=None:
check_source.append(each)
Когда я запускаю этот len (check_source) ==0
Мой htm-файл содержит 19 379 строк, поэтому я не уверен, что вы хотите его увидеть
Я попробовал одно решение
>>> myroot=html.fromstring(xml)
>>> elementlines=[(e,e.sourceline) for e in myroot.iter()]
>>> elementlines
[(<Element doc at 12bb730>, None), (<Element foo at 12bb650>, None)]
Когда я делаю то же самое с etreeЯ получаю то, что было продемонстрировано
>>> myroot=etree.fromstring(xml)
>>> elementlines=[(e,e.sourceline) for e in myroot.iter()]
>>> elementlines
[(<Element doc at 36a6b70>, 1), (<Element foo at 277b4e0>, 2)]
Но мой источник htm такой грязный, что я не могу использовать etree для исследования дерева, я получаю ошибку