- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
希望我问的是对的。我想弄清楚 element.sourceline 的作用,以及是否有某种方法可以使用它的功能。我已经尝试通过多种方式从 html 构建我的元素,但每次我遍历我的元素并询问源代码时,我总是得到 None。当我尝试使用内置帮助时,我也没有得到任何东西。
我用 Google 搜索了一个例子,但还没有找到。
我知道这是一种元素而不是树的方法,但这是我能想到的最好的方法。
响应 Jim Garrison 的示例请求
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 来探索树我得到一个错误
最佳答案
sourceline
将返回在解析文档时确定的行号。因此它不适用于通过 API 添加的元素。例如:
from lxml import etree
xml = '<doc>\n<foo>rain in spain</foo>\n</doc>'
root = etree.fromstring(xml)
print root.find('foo').sourceline # 2
root.append(etree.Element('bar'))
print etree.tostring(root)
print root.find('bar').sourceline # None
我很确定这同样适用于 lxml.html
。
关于python - 任何人都有一个使用 lxml.html 中的 element.sourceline 方法的示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3538248/
我是第一次尝试使用 CppUnit 测试。当我尝试编译测试代码时,我得到: testing.cpp:(.text+0xca): undefined reference to `CppUnit::Sou
希望我问的是对的。我想弄清楚 element.sourceline 的作用,以及是否有某种方法可以使用它的功能。我已经尝试通过多种方式从 html 构建我的元素,但每次我遍历我的元素并询问源代码时,我
来自 git blame docs : When called with --incremental option, the command outputs the result as it is b
我是一名优秀的程序员,十分优秀!