Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python etree.iterwalk不';t浏览lxml v4.4之后的处理指令_Python_Lxml_Processing Instruction - Fatal编程技术网

Python etree.iterwalk不';t浏览lxml v4.4之后的处理指令

Python etree.iterwalk不';t浏览lxml v4.4之后的处理指令,python,lxml,processing-instruction,Python,Lxml,Processing Instruction,在v4.4之前,浏览元素和处理说明: 使用以下代码: 从lxml导入etree XML=”“” 文本 文本尾 """ context=etree.iterwalk(etree.XML(XML),events=(“开始”),和 对于行动,上下文中的元素: 如果存在(元素,etree.\u处理说明): 打印(f“{action}:{elem.target}{elem.text}”) 其他: 打印(f“{action}:{elem.tag}”) 我有: start: root start: page

在v4.4之前,浏览元素和处理说明:

使用以下代码:

从lxml导入etree
XML=”“”
文本
文本尾
"""
context=etree.iterwalk(etree.XML(XML),events=(“开始”),和
对于行动,上下文中的元素:
如果存在(元素,etree.\u处理说明):
打印(f“{action}:{elem.target}{elem.text}”)
其他:
打印(f“{action}:{elem.tag}”)
我有:

start: root
start: page no="1"
start: element
start: element
start: page no="2"
start: {http://testns/}empty-element
但自从lxml v4.4及更高版本以来,我已经:

start: root
start: element
start: element
start: {http://testns/}empty-element
处理指令现在被忽略。为什么?


如何恢复以前的行为?

看起来像是
“pi”
现在被视为处理指令的单独事件类型,只需将其添加到
事件=
列表中即可。它可以工作。你在哪里找到这些信息的?没有文档记录?我找不到任何相关文档,我查看了
etree
源代码,并在对
iterwalk()
的内部调用中看到了此新事件类型的使用。(还有一种“注释”事件类型,我认为也没有记录在案。)@jasonharper,你能发布一个答案让我接受吗?看起来
“pi”
现在被认为是处理指令的一种单独的事件类型,只需将其添加到
事件=
列表中即可。它可以工作。你在哪里找到这些信息的?没有文档记录?我找不到任何相关文档,我查看了
etree
源代码,并在对
iterwalk()
的内部调用中看到了此新事件类型的使用。(还有一种“评论”事件类型,我认为也没有记录在案。)@jasonharper,你能发布一个答案让我接受吗?